{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "colab": {
      "name": "tinymind.ipynb",
      "version": "0.3.2",
      "provenance": [],
      "collapsed_sections": [],
      "toc_visible": true
    },
    "kernelspec": {
      "name": "python3",
      "display_name": "Python 3"
    },
    "accelerator": "GPU"
  },
  "cells": [
    {
      "cell_type": "code",
      "metadata": {
        "id": "vvv3gp5icTyV",
        "colab_type": "code",
        "outputId": "d99db561-1cb0-4a57-e647-2a132bbdc60c",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 122
        }
      },
      "source": [
        "!apt-get install -y -qq software-properties-common python-software-properties module-init-tools\n",
        "!add-apt-repository -y ppa:alessandro-strada/ppa 2>&1 > /dev/null\n",
        "!apt-get update -qq 2>&1 > /dev/null\n",
        "!apt-get -y install -qq google-drive-ocamlfuse fuse\n",
        "from google.colab import auth\n",
        "auth.authenticate_user()\n",
        "from oauth2client.client import GoogleCredentials\n",
        "creds = GoogleCredentials.get_application_default()\n",
        "import getpass\n",
        "!google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret} < /dev/null 2>&1 | grep URL\n",
        "vcode = getpass.getpass()\n",
        "!echo {vcode} | google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret}"
      ],
      "execution_count": 2,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "E: Package 'python-software-properties' has no installation candidate\n",
            "Please, open the following URL in a web browser: https://accounts.google.com/o/oauth2/auth?client_id=32555940559.apps.googleusercontent.com&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive&response_type=code&access_type=offline&approval_prompt=force\n",
            "··········\n",
            "Please, open the following URL in a web browser: https://accounts.google.com/o/oauth2/auth?client_id=32555940559.apps.googleusercontent.com&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive&response_type=code&access_type=offline&approval_prompt=force\n",
            "Please enter the verification code: Access token retrieved correctly.\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "XhTSOGpmcTvG",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "!mkdir -p drive\n",
        "!google-drive-ocamlfuse drive"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "dn8rctuxxmAo",
        "colab_type": "text"
      },
      "source": [
        "###运行环境"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "m_4iq7t1xik4",
        "colab_type": "code",
        "outputId": "1c99c509-beec-4b56-c262-96fede9adcd1",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1000
        }
      },
      "source": [
        "!pip list"
      ],
      "execution_count": 29,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Package                  Version              \n",
            "------------------------ ---------------------\n",
            "absl-py                  0.7.1                \n",
            "alabaster                0.7.12               \n",
            "albumentations           0.1.12               \n",
            "altair                   3.1.0                \n",
            "astor                    0.8.0                \n",
            "astropy                  3.0.5                \n",
            "atari-py                 0.1.15               \n",
            "atomicwrites             1.3.0                \n",
            "attrs                    19.1.0               \n",
            "audioread                2.1.8                \n",
            "autograd                 1.2                  \n",
            "Babel                    2.7.0                \n",
            "backcall                 0.1.0                \n",
            "backports.tempfile       1.0                  \n",
            "backports.weakref        1.0.post1            \n",
            "beautifulsoup4           4.6.3                \n",
            "bleach                   3.1.0                \n",
            "blis                     0.2.4                \n",
            "bokeh                    1.0.4                \n",
            "boto                     2.49.0               \n",
            "boto3                    1.9.175              \n",
            "botocore                 1.12.175             \n",
            "Bottleneck               1.2.1                \n",
            "branca                   0.3.1                \n",
            "bs4                      0.0.1                \n",
            "bz2file                  0.98                 \n",
            "cachetools               3.1.1                \n",
            "certifi                  2019.6.16            \n",
            "cffi                     1.12.3               \n",
            "chainer                  5.4.0                \n",
            "chardet                  3.0.4                \n",
            "cityhash                 0.2.3.post9          \n",
            "Click                    7.0                  \n",
            "cloudpickle              0.6.1                \n",
            "cmake                    3.12.0               \n",
            "colorlover               0.3.0                \n",
            "community                1.0.0b1              \n",
            "contextlib2              0.5.5                \n",
            "convertdate              2.1.3                \n",
            "coverage                 3.7.1                \n",
            "coveralls                0.5                  \n",
            "crcmod                   1.7                  \n",
            "cufflinks                0.14.6               \n",
            "cupy-cuda100             5.4.0                \n",
            "cvxopt                   1.2.3                \n",
            "cvxpy                    1.0.15               \n",
            "cycler                   0.10.0               \n",
            "cymem                    2.0.2                \n",
            "Cython                   0.29.10              \n",
            "daft                     0.0.4                \n",
            "dask                     1.1.5                \n",
            "dataclasses              0.6                  \n",
            "datascience              0.10.6               \n",
            "decorator                4.4.0                \n",
            "defusedxml               0.6.0                \n",
            "descartes                1.1.0                \n",
            "dill                     0.2.9                \n",
            "distributed              1.25.3               \n",
            "Django                   2.2.2                \n",
            "dlib                     19.16.0              \n",
            "dm-sonnet                1.33                 \n",
            "docopt                   0.6.2                \n",
            "docutils                 0.14                 \n",
            "dopamine-rl              1.0.5                \n",
            "easydict                 1.9                  \n",
            "ecos                     2.0.7.post1          \n",
            "editdistance             0.5.3                \n",
            "en-core-web-sm           2.1.0                \n",
            "entrypoints              0.3                  \n",
            "enum34                   1.1.6                \n",
            "ephem                    3.7.6.0              \n",
            "et-xmlfile               1.0.1                \n",
            "fa2                      0.3.5                \n",
            "fancyimpute              0.4.3                \n",
            "fastai                   1.0.54               \n",
            "fastcache                1.1.0                \n",
            "fastdtw                  0.3.2                \n",
            "fastprogress             0.1.21               \n",
            "fastrlock                0.4                  \n",
            "fbprophet                0.5                  \n",
            "feather-format           0.4.0                \n",
            "featuretools             0.4.1                \n",
            "filelock                 3.0.12               \n",
            "fix-yahoo-finance        0.0.22               \n",
            "Flask                    1.0.3                \n",
            "folium                   0.8.3                \n",
            "future                   0.16.0               \n",
            "gast                     0.2.2                \n",
            "GDAL                     2.2.2                \n",
            "gdown                    3.6.4                \n",
            "gensim                   3.6.0                \n",
            "geographiclib            1.49                 \n",
            "geopy                    1.17.0               \n",
            "gevent                   1.4.0                \n",
            "gin-config               0.1.4                \n",
            "glob2                    0.7                  \n",
            "google                   2.0.2                \n",
            "google-api-core          1.13.0               \n",
            "google-api-python-client 1.7.9                \n",
            "google-auth              1.4.2                \n",
            "google-auth-httplib2     0.0.3                \n",
            "google-auth-oauthlib     0.4.0                \n",
            "google-cloud-bigquery    1.14.0               \n",
            "google-cloud-core        1.0.2                \n",
            "google-cloud-datastore   1.8.0                \n",
            "google-cloud-language    1.2.0                \n",
            "google-cloud-storage     1.16.1               \n",
            "google-cloud-translate   1.5.0                \n",
            "google-colab             1.0.0                \n",
            "google-pasta             0.1.7                \n",
            "google-resumable-media   0.3.2                \n",
            "googleapis-common-protos 1.6.0                \n",
            "googledrivedownloader    0.4                  \n",
            "graph-nets               1.0.4                \n",
            "graphviz                 0.10.1               \n",
            "greenlet                 0.4.15               \n",
            "grpcio                   1.15.0               \n",
            "gspread                  3.0.1                \n",
            "gspread-dataframe        3.0.2                \n",
            "gunicorn                 19.9.0               \n",
            "gym                      0.10.11              \n",
            "h5py                     2.8.0                \n",
            "HeapDict                 1.0.0                \n",
            "holidays                 0.9.10               \n",
            "html5lib                 1.0.1                \n",
            "httpimport               0.5.16               \n",
            "httplib2                 0.11.3               \n",
            "humanize                 0.5.1                \n",
            "hyperopt                 0.1.2                \n",
            "ideep4py                 2.0.0.post3          \n",
            "idna                     2.8                  \n",
            "image                    1.5.27               \n",
            "imageio                  2.4.1                \n",
            "imagesize                1.1.0                \n",
            "imbalanced-learn         0.4.3                \n",
            "imblearn                 0.0                  \n",
            "imgaug                   0.2.9                \n",
            "importlib-metadata       0.18                 \n",
            "imutils                  0.5.2                \n",
            "inflect                  2.1.0                \n",
            "intel-openmp             2019.0               \n",
            "intervaltree             2.1.0                \n",
            "ipykernel                4.6.1                \n",
            "ipython                  5.5.0                \n",
            "ipython-genutils         0.2.0                \n",
            "ipython-sql              0.3.9                \n",
            "ipywidgets               7.4.2                \n",
            "itsdangerous             1.1.0                \n",
            "jdcal                    1.4.1                \n",
            "jedi                     0.14.0               \n",
            "jieba                    0.39                 \n",
            "Jinja2                   2.10.1               \n",
            "jmespath                 0.9.4                \n",
            "joblib                   0.13.2               \n",
            "jpeg4py                  0.1.4                \n",
            "jsonschema               2.6.0                \n",
            "jupyter                  1.0.0                \n",
            "jupyter-client           5.2.4                \n",
            "jupyter-console          6.0.0                \n",
            "jupyter-core             4.5.0                \n",
            "kaggle                   1.5.4                \n",
            "kapre                    0.1.3.1              \n",
            "Keras                    2.2.4                \n",
            "Keras-Applications       1.0.8                \n",
            "Keras-Preprocessing      1.1.0                \n",
            "keras-vis                0.4.1                \n",
            "kiwisolver               1.1.0                \n",
            "knnimpute                0.1.0                \n",
            "librosa                  0.6.3                \n",
            "lightgbm                 2.2.3                \n",
            "llvmlite                 0.29.0               \n",
            "lmdb                     0.95                 \n",
            "lucid                    0.3.8                \n",
            "lunardate                0.2.0                \n",
            "lxml                     4.2.6                \n",
            "magenta                  0.3.19               \n",
            "Markdown                 3.1.1                \n",
            "MarkupSafe               1.1.1                \n",
            "matplotlib               3.0.3                \n",
            "matplotlib-venn          0.11.5               \n",
            "mesh-tensorflow          0.0.5                \n",
            "mido                     1.2.6                \n",
            "mir-eval                 0.5                  \n",
            "missingno                0.4.1                \n",
            "mistune                  0.8.4                \n",
            "mizani                   0.5.4                \n",
            "mkl                      2019.0               \n",
            "mlxtend                  0.14.0               \n",
            "more-itertools           7.0.0                \n",
            "moviepy                  0.2.3.5              \n",
            "mpi4py                   3.0.2                \n",
            "mpmath                   1.1.0                \n",
            "msgpack                  0.5.6                \n",
            "multiprocess             0.70.7               \n",
            "multitasking             0.0.9                \n",
            "murmurhash               1.0.2                \n",
            "music21                  5.5.0                \n",
            "natsort                  5.5.0                \n",
            "nbconvert                5.5.0                \n",
            "nbformat                 4.4.0                \n",
            "networkx                 2.3                  \n",
            "nibabel                  2.3.3                \n",
            "nltk                     3.2.5                \n",
            "nose                     1.3.7                \n",
            "notebook                 5.2.2                \n",
            "np-utils                 0.5.10.0             \n",
            "numba                    0.40.1               \n",
            "numexpr                  2.6.9                \n",
            "numpy                    1.16.4               \n",
            "nvidia-ml-py3            7.352.0              \n",
            "oauth2client             4.1.3                \n",
            "oauthlib                 3.0.1                \n",
            "okgrade                  0.4.3                \n",
            "olefile                  0.46                 \n",
            "opencv-contrib-python    3.4.3.18             \n",
            "opencv-python            3.4.5.20             \n",
            "openpyxl                 2.5.9                \n",
            "osqp                     0.5.0                \n",
            "packaging                19.0                 \n",
            "palettable               3.1.1                \n",
            "pandas                   0.24.2               \n",
            "pandas-datareader        0.7.0                \n",
            "pandas-gbq               0.4.1                \n",
            "pandas-profiling         1.4.1                \n",
            "pandocfilters            1.4.2                \n",
            "parso                    0.5.0                \n",
            "pathlib                  1.0.1                \n",
            "patsy                    0.5.1                \n",
            "pexpect                  4.7.0                \n",
            "pickleshare              0.7.5                \n",
            "Pillow                   4.3.0                \n",
            "pip                      19.1.1               \n",
            "pip-tools                3.6.1                \n",
            "plac                     0.9.6                \n",
            "plotly                   3.6.1                \n",
            "plotnine                 0.5.1                \n",
            "pluggy                   0.7.1                \n",
            "portpicker               1.2.0                \n",
            "prefetch-generator       1.0.1                \n",
            "preshed                  2.0.1                \n",
            "pretty-midi              0.2.8                \n",
            "prettytable              0.7.2                \n",
            "progressbar2             3.38.0               \n",
            "prometheus-client        0.7.1                \n",
            "promise                  2.2.1                \n",
            "prompt-toolkit           1.0.16               \n",
            "protobuf                 3.7.1                \n",
            "psutil                   5.4.8                \n",
            "psycopg2                 2.7.6.1              \n",
            "ptyprocess               0.6.0                \n",
            "py                       1.8.0                \n",
            "pyarrow                  0.13.0               \n",
            "pyasn1                   0.4.5                \n",
            "pyasn1-modules           0.2.5                \n",
            "pycocotools              2.0.0                \n",
            "pycparser                2.19                 \n",
            "pydot                    1.3.0                \n",
            "pydot-ng                 2.0.0                \n",
            "pydotplus                2.0.2                \n",
            "pyemd                    0.5.1                \n",
            "pyglet                   1.3.2                \n",
            "Pygments                 2.1.3                \n",
            "pygobject                3.26.1               \n",
            "pymc3                    3.7                  \n",
            "pymongo                  3.8.0                \n",
            "pymystem3                0.2.0                \n",
            "PyOpenGL                 3.1.0                \n",
            "pyparsing                2.4.0                \n",
            "pyrsistent               0.15.2               \n",
            "pysndfile                1.3.3                \n",
            "PySocks                  1.7.0                \n",
            "pystan                   2.19.0.0             \n",
            "pytest                   3.6.4                \n",
            "python-apt               1.6.4                \n",
            "python-chess             0.23.11              \n",
            "python-dateutil          2.5.3                \n",
            "python-louvain           0.13                 \n",
            "python-rtmidi            1.3.0                \n",
            "python-slugify           3.0.2                \n",
            "python-utils             2.3.0                \n",
            "pytz                     2018.9               \n",
            "PyWavelets               1.0.3                \n",
            "PyYAML                   3.13                 \n",
            "pyzmq                    17.0.0               \n",
            "qtconsole                4.5.1                \n",
            "requests                 2.21.0               \n",
            "requests-oauthlib        1.2.0                \n",
            "resampy                  0.2.1                \n",
            "retrying                 1.3.3                \n",
            "rpy2                     2.9.5                \n",
            "rsa                      4.0                  \n",
            "s3fs                     0.2.1                \n",
            "s3transfer               0.2.1                \n",
            "scikit-image             0.15.0               \n",
            "scikit-learn             0.21.2               \n",
            "scipy                    1.3.0                \n",
            "screen-resolution-extra  0.0.0                \n",
            "scs                      2.1.0                \n",
            "seaborn                  0.9.0                \n",
            "semantic-version         2.6.0                \n",
            "Send2Trash               1.5.0                \n",
            "setuptools               41.0.1               \n",
            "setuptools-git           1.2                  \n",
            "Shapely                  1.6.4.post2          \n",
            "simplegeneric            0.8.1                \n",
            "six                      1.12.0               \n",
            "sklearn                  0.0                  \n",
            "sklearn-pandas           1.8.0                \n",
            "smart-open               1.8.4                \n",
            "snowballstemmer          1.2.1                \n",
            "sortedcontainers         2.1.0                \n",
            "spacy                    2.1.4                \n",
            "Sphinx                   1.8.5                \n",
            "sphinxcontrib-websupport 1.1.2                \n",
            "SQLAlchemy               1.3.5                \n",
            "sqlparse                 0.3.0                \n",
            "srsly                    0.0.7                \n",
            "stable-baselines         2.2.1                \n",
            "statsmodels              0.10.0               \n",
            "sympy                    1.1.1                \n",
            "tables                   3.4.4                \n",
            "tabulate                 0.8.3                \n",
            "tblib                    1.4.0                \n",
            "tensor2tensor            1.11.0               \n",
            "tensorboard              1.14.0               \n",
            "tensorboardcolab         0.0.22               \n",
            "tensorflow               1.14.0               \n",
            "tensorflow-estimator     1.14.0               \n",
            "tensorflow-hub           0.4.0                \n",
            "tensorflow-metadata      0.13.0               \n",
            "tensorflow-probability   0.7.0                \n",
            "termcolor                1.1.0                \n",
            "terminado                0.8.2                \n",
            "testpath                 0.4.2                \n",
            "text-unidecode           1.2                  \n",
            "textblob                 0.15.3               \n",
            "textgenrnn               1.4.1                \n",
            "tfds-nightly             1.0.2.dev201906250106\n",
            "tflearn                  0.3.2                \n",
            "Theano                   1.0.4                \n",
            "thinc                    7.0.4                \n",
            "toolz                    0.9.0                \n",
            "torch                    1.1.0                \n",
            "torchsummary             1.5.1                \n",
            "torchtext                0.3.1                \n",
            "torchvision              0.3.0                \n",
            "tornado                  4.5.3                \n",
            "tqdm                     4.28.1               \n",
            "traitlets                4.3.2                \n",
            "tweepy                   3.6.0                \n",
            "typing                   3.7.4                \n",
            "tzlocal                  1.5.1                \n",
            "umap-learn               0.3.9                \n",
            "uritemplate              3.0.0                \n",
            "urllib3                  1.24.3               \n",
            "vega-datasets            0.7.0                \n",
            "warpctc-pytorch          0.1                  \n",
            "wasabi                   0.2.2                \n",
            "wcwidth                  0.1.7                \n",
            "webencodings             0.5.1                \n",
            "Werkzeug                 0.15.4               \n",
            "wheel                    0.33.4               \n",
            "widgetsnbextension       3.4.2                \n",
            "wordcloud                1.5.0                \n",
            "wrapt                    1.11.2               \n",
            "xarray                   0.11.3               \n",
            "xgboost                  0.90                 \n",
            "xkit                     0.0.0                \n",
            "xlrd                     1.1.0                \n",
            "xlwt                     1.3.0                \n",
            "yellowbrick              0.9.1                \n",
            "zict                     1.0.0                \n",
            "zipp                     0.5.1                \n",
            "zmq                      0.0.0                \n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "n8MutG9fcTrx",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "##### 合并分卷压缩文件\n",
        "!zip -s 0 public_test_data.zip --out test_data.zip "
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "4vqme9OWPGVY",
        "colab_type": "text"
      },
      "source": [
        "###编译ctpn"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "63aY8_vi7yC8",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "!cd ./drive/my_gpu/tinymind/text-detection-ctpn/utils/bbox;chmod +x make.sh;./make.sh\n",
        "!wget http://download.tensorflow.org/models/vgg_16_2016_08_28.tar.gz\n",
        "!tar -zvxf vgg_16_2016_08_28.tar.gz"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "K8vKLBnf6JHq",
        "colab_type": "text"
      },
      "source": [
        "###生成训练数据(训练部分,验证直接略过此步骤)"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "LcpGi3V3Nto6",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "!mkdir -p /content/data/dataset/mlt/"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "R1AHDg_T-vps",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "!cd ./drive/my_gpu/tinymind/text-detection-ctpn/utils/prepare;python ./split_label.py"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "EHu51sePyFHj",
        "colab_type": "code",
        "outputId": "73822930-7058-49c5-cab1-17e7c0821cee",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 34
        }
      },
      "source": [
        "!ls -lh ./data/dataset/mlt/image | wc -l"
      ],
      "execution_count": 0,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "164\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "KhqEdFTRR-qo",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "!cd ./drive/my_gpu/tinymind/text-detection-ctpn;python ./main/train.py"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "lqalljq1wybe",
        "colab_type": "text"
      },
      "source": [
        "###复制训练和测试数据集"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "meMfXmUC_q4k",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "!cp ./drive/my_gpu/tinymind/test_data.zip ./;unzip test_data.zip\n",
        "!cp ./drive/my_gpu/tinymind/tinymind.zip ./;unzip tinymind.zip"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "c2Dy2sIiMP_N",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "!rm -rf ./data_res;mkdir ./data_res;mkdir ./data_res/img;mkdir ./data_res/txt"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "SaGlgjQfw5uK",
        "colab_type": "text"
      },
      "source": [
        "### 检测编码位置,截取并保存"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "QqdShFBJv7XX",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "!cp ./drive/my_gpu/tinymind/juesai/private_test_data.zip ./;unzip private_test_data.zip"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "nsv0BFzrVJMr",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "!mkdir public_test_data_repair\n",
        "!cp ./private_test_data/* ./public_test_data_repair/"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "wyxwiBV_v7Gt",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "!cd ./drive/my_gpu/tinymind/text-detection-ctpn;python ./main/demo.py"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "5hChgEfK6x2Q",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        ""
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "4ERnXu9N0Il3",
        "colab_type": "text"
      },
      "source": [
        "###保存结果，第二天用，忽略这里"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "f5l4ss2r1hD3",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "!find ./crnn_input_data/ -name '*' -print | zip crnn_input_test.zip -@\n",
        "!cp crnn_input_test.zip ./drive/my_gpu/tinymind"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "HrNvmLPvxSxF",
        "colab_type": "text"
      },
      "source": [
        "### 三个模型检测结果不一致，并且不符合正则的图片，进行重新截取，会对上下左右进行扩充"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "0Z7u072FLYBX",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "!cd ./drive/my_gpu/tinymind/text-detection-ctpn;python ./main/demo_1.py"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "lqqFLG19xvpO",
        "colab_type": "text"
      },
      "source": [
        "###第一个模型,crnn"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "OYllqYsZLX53",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "!cp ./drive/my_gpu/tinymind/test_cptn_result.zip ./;unzip test_cptn_result.zip\n",
        "!cp ./drive/my_gpu/tinymind/train_cptn_result.zip ./;unzip train_cptn_result.zip"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "sRGiDhnsLXxU",
        "colab_type": "code",
        "outputId": "9e9362f6-3d78-4179-fd8c-57345acb998f",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 136
        }
      },
      "source": [
        "!git clone https://github.com/hwwu/cptn-crnn.git"
      ],
      "execution_count": 17,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Cloning into 'cptn-crnn'...\n",
            "remote: Enumerating objects: 6, done.\u001b[K\n",
            "remote: Counting objects: 100% (6/6), done.\u001b[K\n",
            "remote: Compressing objects: 100% (6/6), done.\u001b[K\n",
            "remote: Total 225 (delta 1), reused 2 (delta 0), pack-reused 219\u001b[K\n",
            "Receiving objects: 100% (225/225), 286.32 KiB | 405.00 KiB/s, done.\n",
            "Resolving deltas: 100% (61/61), done.\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "-L7GuSbwSA9B",
        "colab_type": "code",
        "outputId": "fb3e370b-71a1-4ea7-b4cf-74ae3ec9e4ab",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 173
        }
      },
      "source": [
        "!pip3 install https://download.pytorch.org/whl/cu100/torch-1.1.0-cp36-cp36m-linux_x86_64.whl\n",
        "!pip3 install torchvision"
      ],
      "execution_count": 18,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Requirement already satisfied: torch==1.1.0 from https://download.pytorch.org/whl/cu100/torch-1.1.0-cp36-cp36m-linux_x86_64.whl in /usr/local/lib/python3.6/dist-packages (1.1.0)\n",
            "Requirement already satisfied: numpy in /usr/local/lib/python3.6/dist-packages (from torch==1.1.0) (1.16.4)\n",
            "Requirement already satisfied: torchvision in /usr/local/lib/python3.6/dist-packages (0.3.0)\n",
            "Requirement already satisfied: pillow>=4.1.1 in /usr/local/lib/python3.6/dist-packages (from torchvision) (4.3.0)\n",
            "Requirement already satisfied: numpy in /usr/local/lib/python3.6/dist-packages (from torchvision) (1.16.4)\n",
            "Requirement already satisfied: torch>=1.1.0 in /usr/local/lib/python3.6/dist-packages (from torchvision) (1.1.0)\n",
            "Requirement already satisfied: six in /usr/local/lib/python3.6/dist-packages (from torchvision) (1.12.0)\n",
            "Requirement already satisfied: olefile in /usr/local/lib/python3.6/dist-packages (from pillow>=4.1.1->torchvision) (0.46)\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "9ovfFKJMLXue",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1000
        },
        "outputId": "8f0d761d-6184-4421-d1b6-79a6ef359523"
      },
      "source": [
        "!git clone https://github.com/SeanNaren/warp-ctc.git\n",
        "!cd warp-ctc;mkdir build; cd build;cmake ..;make\n",
        "!cd ./warp-ctc/pytorch_binding;python setup.py install"
      ],
      "execution_count": 19,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Cloning into 'warp-ctc'...\n",
            "remote: Enumerating objects: 752, done.\u001b[K\n",
            "remote: Total 752 (delta 0), reused 0 (delta 0), pack-reused 752\u001b[K\n",
            "Receiving objects: 100% (752/752), 375.39 KiB | 417.00 KiB/s, done.\n",
            "Resolving deltas: 100% (379/379), done.\n",
            "-- The C compiler identification is GNU 7.4.0\n",
            "-- The CXX compiler identification is GNU 7.4.0\n",
            "-- Check for working C compiler: /usr/bin/cc\n",
            "-- Check for working C compiler: /usr/bin/cc -- works\n",
            "-- Detecting C compiler ABI info\n",
            "-- Detecting C compiler ABI info - done\n",
            "-- Detecting C compile features\n",
            "-- Detecting C compile features - done\n",
            "-- Check for working CXX compiler: /usr/bin/c++\n",
            "-- Check for working CXX compiler: /usr/bin/c++ -- works\n",
            "-- Detecting CXX compiler ABI info\n",
            "-- Detecting CXX compiler ABI info - done\n",
            "-- Detecting CXX compile features\n",
            "-- Detecting CXX compile features - done\n",
            "-- Looking for pthread.h\n",
            "-- Looking for pthread.h - found\n",
            "-- Looking for pthread_create\n",
            "-- Looking for pthread_create - not found\n",
            "-- Looking for pthread_create in pthreads\n",
            "-- Looking for pthread_create in pthreads - not found\n",
            "-- Looking for pthread_create in pthread\n",
            "-- Looking for pthread_create in pthread - found\n",
            "-- Found Threads: TRUE  \n",
            "-- Found CUDA: /usr/local/cuda (found suitable version \"10.0\", minimum required is \"6.5\") \n",
            "-- cuda found TRUE\n",
            "-- Building shared library with GPU support\n",
            "-- Configuring done\n",
            "-- Generating done\n",
            "-- Build files have been written to: /content/warp-ctc/build\n",
            "[ 11%] \u001b[34m\u001b[1mBuilding NVCC (Device) object CMakeFiles/warpctc.dir/src/warpctc_generated_reduce.cu.o\u001b[0m\n",
            "/content/warp-ctc/src/reduce.cu(44): warning: function \"__shfl_down(float, unsigned int, int)\"\n",
            "/usr/local/cuda/include/sm_30_intrinsics.hpp(275): here was declared deprecated (\"__shfl_down() is not valid on compute_70 and above, and should be replaced with __shfl_down_sync().To continue using __shfl_down(), specify virtual architecture compute_60 when targeting sm_70 and above, for example, using the pair of compiler options: -arch=compute_60 -code=sm_70.\")\n",
            "          detected during:\n",
            "            instantiation of \"T CTAReduce<NT, T, Rop>::reduce(int, T, CTAReduce<NT, T, Rop>::Storage &, int, Rop) [with NT=128, T=float, Rop=ctc_helper::add<float, float>]\" \n",
            "(76): here\n",
            "            instantiation of \"void reduce_rows<NT,Iop,Rop,T>(Iop, Rop, const T *, T *, int, int) [with NT=128, Iop=ctc_helper::negate<float, float>, Rop=ctc_helper::add<float, float>, T=float]\" \n",
            "(124): here\n",
            "            instantiation of \"void ReduceHelper::impl(Iof, Rof, const T *, T *, int, int, __nv_bool, cudaStream_t) [with T=float, Iof=ctc_helper::negate<float, float>, Rof=ctc_helper::add<float, float>]\" \n",
            "(139): here\n",
            "            instantiation of \"ctcStatus_t reduce(Iof, Rof, const T *, T *, int, int, __nv_bool, cudaStream_t) [with T=float, Iof=ctc_helper::negate<float, float>, Rof=ctc_helper::add<float, float>]\" \n",
            "(149): here\n",
            "\n",
            "/content/warp-ctc/src/reduce.cu(44): warning: function \"__shfl_down(float, unsigned int, int)\"\n",
            "/usr/local/cuda/include/sm_30_intrinsics.hpp(275): here was declared deprecated (\"__shfl_down() is not valid on compute_70 and above, and should be replaced with __shfl_down_sync().To continue using __shfl_down(), specify virtual architecture compute_60 when targeting sm_70 and above, for example, using the pair of compiler options: -arch=compute_60 -code=sm_70.\")\n",
            "          detected during:\n",
            "            instantiation of \"T CTAReduce<NT, T, Rop>::reduce(int, T, CTAReduce<NT, T, Rop>::Storage &, int, Rop) [with NT=128, T=float, Rop=ctc_helper::maximum<float, float>]\" \n",
            "(76): here\n",
            "            instantiation of \"void reduce_rows<NT,Iop,Rop,T>(Iop, Rop, const T *, T *, int, int) [with NT=128, Iop=ctc_helper::identity<float, float>, Rop=ctc_helper::maximum<float, float>, T=float]\" \n",
            "(124): here\n",
            "            instantiation of \"void ReduceHelper::impl(Iof, Rof, const T *, T *, int, int, __nv_bool, cudaStream_t) [with T=float, Iof=ctc_helper::identity<float, float>, Rof=ctc_helper::maximum<float, float>]\" \n",
            "(139): here\n",
            "            instantiation of \"ctcStatus_t reduce(Iof, Rof, const T *, T *, int, int, __nv_bool, cudaStream_t) [with T=float, Iof=ctc_helper::identity<float, float>, Rof=ctc_helper::maximum<float, float>]\" \n",
            "(157): here\n",
            "\n",
            "/content/warp-ctc/src/reduce.cu(44): warning: function \"__shfl_down(float, unsigned int, int)\"\n",
            "/usr/local/cuda/include/sm_30_intrinsics.hpp(275): here was declared deprecated (\"__shfl_down() is deprecated in favor of __shfl_down_sync() and may be removed in a future release (Use -Wno-deprecated-declarations to suppress this warning).\")\n",
            "          detected during:\n",
            "            instantiation of \"T CTAReduce<NT, T, Rop>::reduce(int, T, CTAReduce<NT, T, Rop>::Storage &, int, Rop) [with NT=128, T=float, Rop=ctc_helper::add<float, float>]\" \n",
            "(76): here\n",
            "            instantiation of \"void reduce_rows<NT,Iop,Rop,T>(Iop, Rop, const T *, T *, int, int) [with NT=128, Iop=ctc_helper::negate<float, float>, Rop=ctc_helper::add<float, float>, T=float]\" \n",
            "(124): here\n",
            "            instantiation of \"void ReduceHelper::impl(Iof, Rof, const T *, T *, int, int, __nv_bool, cudaStream_t) [with T=float, Iof=ctc_helper::negate<float, float>, Rof=ctc_helper::add<float, float>]\" \n",
            "(139): here\n",
            "            instantiation of \"ctcStatus_t reduce(Iof, Rof, const T *, T *, int, int, __nv_bool, cudaStream_t) [with T=float, Iof=ctc_helper::negate<float, float>, Rof=ctc_helper::add<float, float>]\" \n",
            "(149): here\n",
            "\n",
            "/content/warp-ctc/src/reduce.cu(44): warning: function \"__shfl_down(float, unsigned int, int)\"\n",
            "/usr/local/cuda/include/sm_30_intrinsics.hpp(275): here was declared deprecated (\"__shfl_down() is deprecated in favor of __shfl_down_sync() and may be removed in a future release (Use -Wno-deprecated-declarations to suppress this warning).\")\n",
            "          detected during:\n",
            "            instantiation of \"T CTAReduce<NT, T, Rop>::reduce(int, T, CTAReduce<NT, T, Rop>::Storage &, int, Rop) [with NT=128, T=float, Rop=ctc_helper::maximum<float, float>]\" \n",
            "(76): here\n",
            "            instantiation of \"void reduce_rows<NT,Iop,Rop,T>(Iop, Rop, const T *, T *, int, int) [with NT=128, Iop=ctc_helper::identity<float, float>, Rop=ctc_helper::maximum<float, float>, T=float]\" \n",
            "(124): here\n",
            "            instantiation of \"void ReduceHelper::impl(Iof, Rof, const T *, T *, int, int, __nv_bool, cudaStream_t) [with T=float, Iof=ctc_helper::identity<float, float>, Rof=ctc_helper::maximum<float, float>]\" \n",
            "(139): here\n",
            "            instantiation of \"ctcStatus_t reduce(Iof, Rof, const T *, T *, int, int, __nv_bool, cudaStream_t) [with T=float, Iof=ctc_helper::identity<float, float>, Rof=ctc_helper::maximum<float, float>]\" \n",
            "(157): here\n",
            "\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-12_reduce.compute_30.ptx, line 158; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-12_reduce.compute_30.ptx, line 168; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-12_reduce.compute_30.ptx, line 178; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-12_reduce.compute_30.ptx, line 188; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-12_reduce.compute_30.ptx, line 198; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-12_reduce.compute_30.ptx, line 564; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-12_reduce.compute_30.ptx, line 574; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-12_reduce.compute_30.ptx, line 584; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-12_reduce.compute_30.ptx, line 594; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-12_reduce.compute_30.ptx, line 604; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-12_reduce.compute_30.ptx, line 904; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-12_reduce.compute_30.ptx, line 920; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-12_reduce.compute_30.ptx, line 936; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-12_reduce.compute_30.ptx, line 952; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-12_reduce.compute_30.ptx, line 968; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "/content/warp-ctc/src/reduce.cu(44): warning: function \"__shfl_down(float, unsigned int, int)\"\n",
            "/usr/local/cuda/include/sm_30_intrinsics.hpp(275): here was declared deprecated (\"__shfl_down() is deprecated in favor of __shfl_down_sync() and may be removed in a future release (Use -Wno-deprecated-declarations to suppress this warning).\")\n",
            "          detected during:\n",
            "            instantiation of \"T CTAReduce<NT, T, Rop>::reduce(int, T, CTAReduce<NT, T, Rop>::Storage &, int, Rop) [with NT=128, T=float, Rop=ctc_helper::add<float, float>]\" \n",
            "(76): here\n",
            "            instantiation of \"void reduce_rows<NT,Iop,Rop,T>(Iop, Rop, const T *, T *, int, int) [with NT=128, Iop=ctc_helper::negate<float, float>, Rop=ctc_helper::add<float, float>, T=float]\" \n",
            "(124): here\n",
            "            instantiation of \"void ReduceHelper::impl(Iof, Rof, const T *, T *, int, int, __nv_bool, cudaStream_t) [with T=float, Iof=ctc_helper::negate<float, float>, Rof=ctc_helper::add<float, float>]\" \n",
            "(139): here\n",
            "            instantiation of \"ctcStatus_t reduce(Iof, Rof, const T *, T *, int, int, __nv_bool, cudaStream_t) [with T=float, Iof=ctc_helper::negate<float, float>, Rof=ctc_helper::add<float, float>]\" \n",
            "(149): here\n",
            "\n",
            "/content/warp-ctc/src/reduce.cu(44): warning: function \"__shfl_down(float, unsigned int, int)\"\n",
            "/usr/local/cuda/include/sm_30_intrinsics.hpp(275): here was declared deprecated (\"__shfl_down() is deprecated in favor of __shfl_down_sync() and may be removed in a future release (Use -Wno-deprecated-declarations to suppress this warning).\")\n",
            "          detected during:\n",
            "            instantiation of \"T CTAReduce<NT, T, Rop>::reduce(int, T, CTAReduce<NT, T, Rop>::Storage &, int, Rop) [with NT=128, T=float, Rop=ctc_helper::maximum<float, float>]\" \n",
            "(76): here\n",
            "            instantiation of \"void reduce_rows<NT,Iop,Rop,T>(Iop, Rop, const T *, T *, int, int) [with NT=128, Iop=ctc_helper::identity<float, float>, Rop=ctc_helper::maximum<float, float>, T=float]\" \n",
            "(124): here\n",
            "            instantiation of \"void ReduceHelper::impl(Iof, Rof, const T *, T *, int, int, __nv_bool, cudaStream_t) [with T=float, Iof=ctc_helper::identity<float, float>, Rof=ctc_helper::maximum<float, float>]\" \n",
            "(139): here\n",
            "            instantiation of \"ctcStatus_t reduce(Iof, Rof, const T *, T *, int, int, __nv_bool, cudaStream_t) [with T=float, Iof=ctc_helper::identity<float, float>, Rof=ctc_helper::maximum<float, float>]\" \n",
            "(157): here\n",
            "\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-11_reduce.compute_35.ptx, line 159; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-11_reduce.compute_35.ptx, line 169; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-11_reduce.compute_35.ptx, line 179; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-11_reduce.compute_35.ptx, line 189; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-11_reduce.compute_35.ptx, line 199; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-11_reduce.compute_35.ptx, line 565; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-11_reduce.compute_35.ptx, line 575; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-11_reduce.compute_35.ptx, line 585; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-11_reduce.compute_35.ptx, line 595; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-11_reduce.compute_35.ptx, line 605; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-11_reduce.compute_35.ptx, line 892; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-11_reduce.compute_35.ptx, line 908; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-11_reduce.compute_35.ptx, line 924; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-11_reduce.compute_35.ptx, line 940; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-11_reduce.compute_35.ptx, line 956; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "/content/warp-ctc/src/reduce.cu(44): warning: function \"__shfl_down(float, unsigned int, int)\"\n",
            "/usr/local/cuda/include/sm_30_intrinsics.hpp(275): here was declared deprecated (\"__shfl_down() is deprecated in favor of __shfl_down_sync() and may be removed in a future release (Use -Wno-deprecated-declarations to suppress this warning).\")\n",
            "          detected during:\n",
            "            instantiation of \"T CTAReduce<NT, T, Rop>::reduce(int, T, CTAReduce<NT, T, Rop>::Storage &, int, Rop) [with NT=128, T=float, Rop=ctc_helper::add<float, float>]\" \n",
            "(76): here\n",
            "            instantiation of \"void reduce_rows<NT,Iop,Rop,T>(Iop, Rop, const T *, T *, int, int) [with NT=128, Iop=ctc_helper::negate<float, float>, Rop=ctc_helper::add<float, float>, T=float]\" \n",
            "(124): here\n",
            "            instantiation of \"void ReduceHelper::impl(Iof, Rof, const T *, T *, int, int, __nv_bool, cudaStream_t) [with T=float, Iof=ctc_helper::negate<float, float>, Rof=ctc_helper::add<float, float>]\" \n",
            "(139): here\n",
            "            instantiation of \"ctcStatus_t reduce(Iof, Rof, const T *, T *, int, int, __nv_bool, cudaStream_t) [with T=float, Iof=ctc_helper::negate<float, float>, Rof=ctc_helper::add<float, float>]\" \n",
            "(149): here\n",
            "\n",
            "/content/warp-ctc/src/reduce.cu(44): warning: function \"__shfl_down(float, unsigned int, int)\"\n",
            "/usr/local/cuda/include/sm_30_intrinsics.hpp(275): here was declared deprecated (\"__shfl_down() is deprecated in favor of __shfl_down_sync() and may be removed in a future release (Use -Wno-deprecated-declarations to suppress this warning).\")\n",
            "          detected during:\n",
            "            instantiation of \"T CTAReduce<NT, T, Rop>::reduce(int, T, CTAReduce<NT, T, Rop>::Storage &, int, Rop) [with NT=128, T=float, Rop=ctc_helper::maximum<float, float>]\" \n",
            "(76): here\n",
            "            instantiation of \"void reduce_rows<NT,Iop,Rop,T>(Iop, Rop, const T *, T *, int, int) [with NT=128, Iop=ctc_helper::identity<float, float>, Rop=ctc_helper::maximum<float, float>, T=float]\" \n",
            "(124): here\n",
            "            instantiation of \"void ReduceHelper::impl(Iof, Rof, const T *, T *, int, int, __nv_bool, cudaStream_t) [with T=float, Iof=ctc_helper::identity<float, float>, Rof=ctc_helper::maximum<float, float>]\" \n",
            "(139): here\n",
            "            instantiation of \"ctcStatus_t reduce(Iof, Rof, const T *, T *, int, int, __nv_bool, cudaStream_t) [with T=float, Iof=ctc_helper::identity<float, float>, Rof=ctc_helper::maximum<float, float>]\" \n",
            "(157): here\n",
            "\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-10_reduce.compute_50.ptx, line 159; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-10_reduce.compute_50.ptx, line 169; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-10_reduce.compute_50.ptx, line 179; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-10_reduce.compute_50.ptx, line 189; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-10_reduce.compute_50.ptx, line 199; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-10_reduce.compute_50.ptx, line 565; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-10_reduce.compute_50.ptx, line 575; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-10_reduce.compute_50.ptx, line 585; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-10_reduce.compute_50.ptx, line 595; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-10_reduce.compute_50.ptx, line 605; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-10_reduce.compute_50.ptx, line 892; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-10_reduce.compute_50.ptx, line 908; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-10_reduce.compute_50.ptx, line 924; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-10_reduce.compute_50.ptx, line 940; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-10_reduce.compute_50.ptx, line 956; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "/content/warp-ctc/src/reduce.cu(44): warning: function \"__shfl_down(float, unsigned int, int)\"\n",
            "/usr/local/cuda/include/sm_30_intrinsics.hpp(275): here was declared deprecated (\"__shfl_down() is deprecated in favor of __shfl_down_sync() and may be removed in a future release (Use -Wno-deprecated-declarations to suppress this warning).\")\n",
            "          detected during:\n",
            "            instantiation of \"T CTAReduce<NT, T, Rop>::reduce(int, T, CTAReduce<NT, T, Rop>::Storage &, int, Rop) [with NT=128, T=float, Rop=ctc_helper::add<float, float>]\" \n",
            "(76): here\n",
            "            instantiation of \"void reduce_rows<NT,Iop,Rop,T>(Iop, Rop, const T *, T *, int, int) [with NT=128, Iop=ctc_helper::negate<float, float>, Rop=ctc_helper::add<float, float>, T=float]\" \n",
            "(124): here\n",
            "            instantiation of \"void ReduceHelper::impl(Iof, Rof, const T *, T *, int, int, __nv_bool, cudaStream_t) [with T=float, Iof=ctc_helper::negate<float, float>, Rof=ctc_helper::add<float, float>]\" \n",
            "(139): here\n",
            "            instantiation of \"ctcStatus_t reduce(Iof, Rof, const T *, T *, int, int, __nv_bool, cudaStream_t) [with T=float, Iof=ctc_helper::negate<float, float>, Rof=ctc_helper::add<float, float>]\" \n",
            "(149): here\n",
            "\n",
            "/content/warp-ctc/src/reduce.cu(44): warning: function \"__shfl_down(float, unsigned int, int)\"\n",
            "/usr/local/cuda/include/sm_30_intrinsics.hpp(275): here was declared deprecated (\"__shfl_down() is deprecated in favor of __shfl_down_sync() and may be removed in a future release (Use -Wno-deprecated-declarations to suppress this warning).\")\n",
            "          detected during:\n",
            "            instantiation of \"T CTAReduce<NT, T, Rop>::reduce(int, T, CTAReduce<NT, T, Rop>::Storage &, int, Rop) [with NT=128, T=float, Rop=ctc_helper::maximum<float, float>]\" \n",
            "(76): here\n",
            "            instantiation of \"void reduce_rows<NT,Iop,Rop,T>(Iop, Rop, const T *, T *, int, int) [with NT=128, Iop=ctc_helper::identity<float, float>, Rop=ctc_helper::maximum<float, float>, T=float]\" \n",
            "(124): here\n",
            "            instantiation of \"void ReduceHelper::impl(Iof, Rof, const T *, T *, int, int, __nv_bool, cudaStream_t) [with T=float, Iof=ctc_helper::identity<float, float>, Rof=ctc_helper::maximum<float, float>]\" \n",
            "(139): here\n",
            "            instantiation of \"ctcStatus_t reduce(Iof, Rof, const T *, T *, int, int, __nv_bool, cudaStream_t) [with T=float, Iof=ctc_helper::identity<float, float>, Rof=ctc_helper::maximum<float, float>]\" \n",
            "(157): here\n",
            "\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-9_reduce.compute_52.ptx, line 159; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-9_reduce.compute_52.ptx, line 169; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-9_reduce.compute_52.ptx, line 179; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-9_reduce.compute_52.ptx, line 189; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-9_reduce.compute_52.ptx, line 199; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-9_reduce.compute_52.ptx, line 565; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-9_reduce.compute_52.ptx, line 575; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-9_reduce.compute_52.ptx, line 585; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-9_reduce.compute_52.ptx, line 595; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-9_reduce.compute_52.ptx, line 605; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-9_reduce.compute_52.ptx, line 892; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-9_reduce.compute_52.ptx, line 908; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-9_reduce.compute_52.ptx, line 924; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-9_reduce.compute_52.ptx, line 940; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-9_reduce.compute_52.ptx, line 956; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "/content/warp-ctc/src/reduce.cu(44): warning: function \"__shfl_down(float, unsigned int, int)\"\n",
            "/usr/local/cuda/include/sm_30_intrinsics.hpp(275): here was declared deprecated (\"__shfl_down() is deprecated in favor of __shfl_down_sync() and may be removed in a future release (Use -Wno-deprecated-declarations to suppress this warning).\")\n",
            "          detected during:\n",
            "            instantiation of \"T CTAReduce<NT, T, Rop>::reduce(int, T, CTAReduce<NT, T, Rop>::Storage &, int, Rop) [with NT=128, T=float, Rop=ctc_helper::add<float, float>]\" \n",
            "(76): here\n",
            "            instantiation of \"void reduce_rows<NT,Iop,Rop,T>(Iop, Rop, const T *, T *, int, int) [with NT=128, Iop=ctc_helper::negate<float, float>, Rop=ctc_helper::add<float, float>, T=float]\" \n",
            "(124): here\n",
            "            instantiation of \"void ReduceHelper::impl(Iof, Rof, const T *, T *, int, int, __nv_bool, cudaStream_t) [with T=float, Iof=ctc_helper::negate<float, float>, Rof=ctc_helper::add<float, float>]\" \n",
            "(139): here\n",
            "            instantiation of \"ctcStatus_t reduce(Iof, Rof, const T *, T *, int, int, __nv_bool, cudaStream_t) [with T=float, Iof=ctc_helper::negate<float, float>, Rof=ctc_helper::add<float, float>]\" \n",
            "(149): here\n",
            "\n",
            "/content/warp-ctc/src/reduce.cu(44): warning: function \"__shfl_down(float, unsigned int, int)\"\n",
            "/usr/local/cuda/include/sm_30_intrinsics.hpp(275): here was declared deprecated (\"__shfl_down() is deprecated in favor of __shfl_down_sync() and may be removed in a future release (Use -Wno-deprecated-declarations to suppress this warning).\")\n",
            "          detected during:\n",
            "            instantiation of \"T CTAReduce<NT, T, Rop>::reduce(int, T, CTAReduce<NT, T, Rop>::Storage &, int, Rop) [with NT=128, T=float, Rop=ctc_helper::maximum<float, float>]\" \n",
            "(76): here\n",
            "            instantiation of \"void reduce_rows<NT,Iop,Rop,T>(Iop, Rop, const T *, T *, int, int) [with NT=128, Iop=ctc_helper::identity<float, float>, Rop=ctc_helper::maximum<float, float>, T=float]\" \n",
            "(124): here\n",
            "            instantiation of \"void ReduceHelper::impl(Iof, Rof, const T *, T *, int, int, __nv_bool, cudaStream_t) [with T=float, Iof=ctc_helper::identity<float, float>, Rof=ctc_helper::maximum<float, float>]\" \n",
            "(139): here\n",
            "            instantiation of \"ctcStatus_t reduce(Iof, Rof, const T *, T *, int, int, __nv_bool, cudaStream_t) [with T=float, Iof=ctc_helper::identity<float, float>, Rof=ctc_helper::maximum<float, float>]\" \n",
            "(157): here\n",
            "\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-8_reduce.compute_60.ptx, line 159; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-8_reduce.compute_60.ptx, line 169; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-8_reduce.compute_60.ptx, line 179; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-8_reduce.compute_60.ptx, line 189; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-8_reduce.compute_60.ptx, line 199; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-8_reduce.compute_60.ptx, line 565; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-8_reduce.compute_60.ptx, line 575; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-8_reduce.compute_60.ptx, line 585; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-8_reduce.compute_60.ptx, line 595; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-8_reduce.compute_60.ptx, line 605; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-8_reduce.compute_60.ptx, line 892; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-8_reduce.compute_60.ptx, line 908; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-8_reduce.compute_60.ptx, line 924; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-8_reduce.compute_60.ptx, line 940; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-8_reduce.compute_60.ptx, line 956; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "/content/warp-ctc/src/reduce.cu(44): warning: function \"__shfl_down(float, unsigned int, int)\"\n",
            "/usr/local/cuda/include/sm_30_intrinsics.hpp(275): here was declared deprecated (\"__shfl_down() is deprecated in favor of __shfl_down_sync() and may be removed in a future release (Use -Wno-deprecated-declarations to suppress this warning).\")\n",
            "          detected during:\n",
            "            instantiation of \"T CTAReduce<NT, T, Rop>::reduce(int, T, CTAReduce<NT, T, Rop>::Storage &, int, Rop) [with NT=128, T=float, Rop=ctc_helper::add<float, float>]\" \n",
            "(76): here\n",
            "            instantiation of \"void reduce_rows<NT,Iop,Rop,T>(Iop, Rop, const T *, T *, int, int) [with NT=128, Iop=ctc_helper::negate<float, float>, Rop=ctc_helper::add<float, float>, T=float]\" \n",
            "(124): here\n",
            "            instantiation of \"void ReduceHelper::impl(Iof, Rof, const T *, T *, int, int, __nv_bool, cudaStream_t) [with T=float, Iof=ctc_helper::negate<float, float>, Rof=ctc_helper::add<float, float>]\" \n",
            "(139): here\n",
            "            instantiation of \"ctcStatus_t reduce(Iof, Rof, const T *, T *, int, int, __nv_bool, cudaStream_t) [with T=float, Iof=ctc_helper::negate<float, float>, Rof=ctc_helper::add<float, float>]\" \n",
            "(149): here\n",
            "\n",
            "/content/warp-ctc/src/reduce.cu(44): warning: function \"__shfl_down(float, unsigned int, int)\"\n",
            "/usr/local/cuda/include/sm_30_intrinsics.hpp(275): here was declared deprecated (\"__shfl_down() is deprecated in favor of __shfl_down_sync() and may be removed in a future release (Use -Wno-deprecated-declarations to suppress this warning).\")\n",
            "          detected during:\n",
            "            instantiation of \"T CTAReduce<NT, T, Rop>::reduce(int, T, CTAReduce<NT, T, Rop>::Storage &, int, Rop) [with NT=128, T=float, Rop=ctc_helper::maximum<float, float>]\" \n",
            "(76): here\n",
            "            instantiation of \"void reduce_rows<NT,Iop,Rop,T>(Iop, Rop, const T *, T *, int, int) [with NT=128, Iop=ctc_helper::identity<float, float>, Rop=ctc_helper::maximum<float, float>, T=float]\" \n",
            "(124): here\n",
            "            instantiation of \"void ReduceHelper::impl(Iof, Rof, const T *, T *, int, int, __nv_bool, cudaStream_t) [with T=float, Iof=ctc_helper::identity<float, float>, Rof=ctc_helper::maximum<float, float>]\" \n",
            "(139): here\n",
            "            instantiation of \"ctcStatus_t reduce(Iof, Rof, const T *, T *, int, int, __nv_bool, cudaStream_t) [with T=float, Iof=ctc_helper::identity<float, float>, Rof=ctc_helper::maximum<float, float>]\" \n",
            "(157): here\n",
            "\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-7_reduce.compute_61.ptx, line 159; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-7_reduce.compute_61.ptx, line 169; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-7_reduce.compute_61.ptx, line 179; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-7_reduce.compute_61.ptx, line 189; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-7_reduce.compute_61.ptx, line 199; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-7_reduce.compute_61.ptx, line 565; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-7_reduce.compute_61.ptx, line 575; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-7_reduce.compute_61.ptx, line 585; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-7_reduce.compute_61.ptx, line 595; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-7_reduce.compute_61.ptx, line 605; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-7_reduce.compute_61.ptx, line 892; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-7_reduce.compute_61.ptx, line 908; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-7_reduce.compute_61.ptx, line 924; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-7_reduce.compute_61.ptx, line 940; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-7_reduce.compute_61.ptx, line 956; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "/content/warp-ctc/src/reduce.cu(44): warning: function \"__shfl_down(float, unsigned int, int)\"\n",
            "/usr/local/cuda/include/sm_30_intrinsics.hpp(275): here was declared deprecated (\"__shfl_down() is deprecated in favor of __shfl_down_sync() and may be removed in a future release (Use -Wno-deprecated-declarations to suppress this warning).\")\n",
            "          detected during:\n",
            "            instantiation of \"T CTAReduce<NT, T, Rop>::reduce(int, T, CTAReduce<NT, T, Rop>::Storage &, int, Rop) [with NT=128, T=float, Rop=ctc_helper::add<float, float>]\" \n",
            "(76): here\n",
            "            instantiation of \"void reduce_rows<NT,Iop,Rop,T>(Iop, Rop, const T *, T *, int, int) [with NT=128, Iop=ctc_helper::negate<float, float>, Rop=ctc_helper::add<float, float>, T=float]\" \n",
            "(124): here\n",
            "            instantiation of \"void ReduceHelper::impl(Iof, Rof, const T *, T *, int, int, __nv_bool, cudaStream_t) [with T=float, Iof=ctc_helper::negate<float, float>, Rof=ctc_helper::add<float, float>]\" \n",
            "(139): here\n",
            "            instantiation of \"ctcStatus_t reduce(Iof, Rof, const T *, T *, int, int, __nv_bool, cudaStream_t) [with T=float, Iof=ctc_helper::negate<float, float>, Rof=ctc_helper::add<float, float>]\" \n",
            "(149): here\n",
            "\n",
            "/content/warp-ctc/src/reduce.cu(44): warning: function \"__shfl_down(float, unsigned int, int)\"\n",
            "/usr/local/cuda/include/sm_30_intrinsics.hpp(275): here was declared deprecated (\"__shfl_down() is deprecated in favor of __shfl_down_sync() and may be removed in a future release (Use -Wno-deprecated-declarations to suppress this warning).\")\n",
            "          detected during:\n",
            "            instantiation of \"T CTAReduce<NT, T, Rop>::reduce(int, T, CTAReduce<NT, T, Rop>::Storage &, int, Rop) [with NT=128, T=float, Rop=ctc_helper::maximum<float, float>]\" \n",
            "(76): here\n",
            "            instantiation of \"void reduce_rows<NT,Iop,Rop,T>(Iop, Rop, const T *, T *, int, int) [with NT=128, Iop=ctc_helper::identity<float, float>, Rop=ctc_helper::maximum<float, float>, T=float]\" \n",
            "(124): here\n",
            "            instantiation of \"void ReduceHelper::impl(Iof, Rof, const T *, T *, int, int, __nv_bool, cudaStream_t) [with T=float, Iof=ctc_helper::identity<float, float>, Rof=ctc_helper::maximum<float, float>]\" \n",
            "(139): here\n",
            "            instantiation of \"ctcStatus_t reduce(Iof, Rof, const T *, T *, int, int, __nv_bool, cudaStream_t) [with T=float, Iof=ctc_helper::identity<float, float>, Rof=ctc_helper::maximum<float, float>]\" \n",
            "(157): here\n",
            "\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-6_reduce.compute_62.ptx, line 159; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-6_reduce.compute_62.ptx, line 169; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-6_reduce.compute_62.ptx, line 179; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-6_reduce.compute_62.ptx, line 189; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-6_reduce.compute_62.ptx, line 199; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-6_reduce.compute_62.ptx, line 565; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-6_reduce.compute_62.ptx, line 575; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-6_reduce.compute_62.ptx, line 585; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-6_reduce.compute_62.ptx, line 595; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-6_reduce.compute_62.ptx, line 605; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-6_reduce.compute_62.ptx, line 892; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-6_reduce.compute_62.ptx, line 908; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-6_reduce.compute_62.ptx, line 924; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-6_reduce.compute_62.ptx, line 940; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-6_reduce.compute_62.ptx, line 956; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-5_reduce.compute_70.ptx, line 159; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-5_reduce.compute_70.ptx, line 159; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-5_reduce.compute_70.ptx, line 169; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-5_reduce.compute_70.ptx, line 169; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-5_reduce.compute_70.ptx, line 179; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-5_reduce.compute_70.ptx, line 179; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-5_reduce.compute_70.ptx, line 189; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-5_reduce.compute_70.ptx, line 189; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-5_reduce.compute_70.ptx, line 199; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-5_reduce.compute_70.ptx, line 199; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-5_reduce.compute_70.ptx, line 565; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-5_reduce.compute_70.ptx, line 565; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-5_reduce.compute_70.ptx, line 575; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-5_reduce.compute_70.ptx, line 575; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-5_reduce.compute_70.ptx, line 585; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-5_reduce.compute_70.ptx, line 585; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-5_reduce.compute_70.ptx, line 595; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-5_reduce.compute_70.ptx, line 595; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-5_reduce.compute_70.ptx, line 605; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-5_reduce.compute_70.ptx, line 605; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-5_reduce.compute_70.ptx, line 892; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-5_reduce.compute_70.ptx, line 892; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-5_reduce.compute_70.ptx, line 908; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-5_reduce.compute_70.ptx, line 908; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-5_reduce.compute_70.ptx, line 924; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-5_reduce.compute_70.ptx, line 924; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-5_reduce.compute_70.ptx, line 940; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-5_reduce.compute_70.ptx, line 940; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-5_reduce.compute_70.ptx, line 956; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003a83_00000000-5_reduce.compute_70.ptx, line 956; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "[ 22%] \u001b[34m\u001b[1mBuilding NVCC (Device) object CMakeFiles/warpctc.dir/src/warpctc_generated_ctc_entrypoint.cu.o\u001b[0m\n",
            "/content/warp-ctc/include/contrib/moderngpu/include/device/intrinsics.cuh(115): warning: function \"__shfl_up(float, unsigned int, int)\"\n",
            "/usr/local/cuda/include/sm_30_intrinsics.hpp(258): here was declared deprecated (\"__shfl_up() is not valid on compute_70 and above, and should be replaced with __shfl_up_sync().To continue using __shfl_up(), specify virtual architecture compute_60 when targeting sm_70 and above, for example, using the pair of compiler options: -arch=compute_60 -code=sm_70.\")\n",
            "\n",
            "/content/warp-ctc/include/contrib/moderngpu/include/device/intrinsics.cuh(125): warning: function \"__shfl_up(int, unsigned int, int)\"\n",
            "/usr/local/cuda/include/sm_30_intrinsics.hpp(172): here was declared deprecated (\"__shfl_up() is not valid on compute_70 and above, and should be replaced with __shfl_up_sync().To continue using __shfl_up(), specify virtual architecture compute_60 when targeting sm_70 and above, for example, using the pair of compiler options: -arch=compute_60 -code=sm_70.\")\n",
            "\n",
            "/content/warp-ctc/include/contrib/moderngpu/include/device/intrinsics.cuh(126): warning: function \"__shfl_up(int, unsigned int, int)\"\n",
            "/usr/local/cuda/include/sm_30_intrinsics.hpp(172): here was declared deprecated (\"__shfl_up() is not valid on compute_70 and above, and should be replaced with __shfl_up_sync().To continue using __shfl_up(), specify virtual architecture compute_60 when targeting sm_70 and above, for example, using the pair of compiler options: -arch=compute_60 -code=sm_70.\")\n",
            "\n",
            "/content/warp-ctc/include/contrib/moderngpu/include/device/intrinsics.cuh(115): warning: function \"__shfl_up(float, unsigned int, int)\"\n",
            "/usr/local/cuda/include/sm_30_intrinsics.hpp(258): here was declared deprecated (\"__shfl_up() is deprecated in favor of __shfl_up_sync() and may be removed in a future release (Use -Wno-deprecated-declarations to suppress this warning).\")\n",
            "\n",
            "/content/warp-ctc/include/contrib/moderngpu/include/device/intrinsics.cuh(125): warning: function \"__shfl_up(int, unsigned int, int)\"\n",
            "/usr/local/cuda/include/sm_30_intrinsics.hpp(172): here was declared deprecated (\"__shfl_up() is deprecated in favor of __shfl_up_sync() and may be removed in a future release (Use -Wno-deprecated-declarations to suppress this warning).\")\n",
            "\n",
            "/content/warp-ctc/include/contrib/moderngpu/include/device/intrinsics.cuh(126): warning: function \"__shfl_up(int, unsigned int, int)\"\n",
            "/usr/local/cuda/include/sm_30_intrinsics.hpp(172): here was declared deprecated (\"__shfl_up() is deprecated in favor of __shfl_up_sync() and may be removed in a future release (Use -Wno-deprecated-declarations to suppress this warning).\")\n",
            "\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 1903; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 1907; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 1911; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 1915; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 1919; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 5697; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 5721; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 5725; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 5729; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 5733; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 5737; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 9580; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 9584; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 9606; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 9609; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 9613; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 9617; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 9621; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 13856; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 13881; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 13885; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 13889; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 13893; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 13897; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 18012; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 18016; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 18040; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 18043; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 18047; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 18051; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 18055; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 23584; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 23588; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 23592; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 23596; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 23600; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 28681; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 28706; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 28710; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 28714; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 28718; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 28722; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 33418; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 33422; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 33445; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 33448; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 33452; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 33456; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 33460; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 39361; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 39386; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 39390; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 39394; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 39398; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 39402; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 44712; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 44716; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 44739; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 44742; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 44746; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 44750; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 44754; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 51025; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 51029; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 51052; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 51055; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 51059; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 51063; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 51067; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 57735; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 57739; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 57762; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 57765; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 57769; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 57773; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-12_ctc_entrypoint.compute_30.ptx, line 57777; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "/content/warp-ctc/include/contrib/moderngpu/include/device/intrinsics.cuh(115): warning: function \"__shfl_up(float, unsigned int, int)\"\n",
            "/usr/local/cuda/include/sm_30_intrinsics.hpp(258): here was declared deprecated (\"__shfl_up() is deprecated in favor of __shfl_up_sync() and may be removed in a future release (Use -Wno-deprecated-declarations to suppress this warning).\")\n",
            "\n",
            "/content/warp-ctc/include/contrib/moderngpu/include/device/intrinsics.cuh(125): warning: function \"__shfl_up(int, unsigned int, int)\"\n",
            "/usr/local/cuda/include/sm_30_intrinsics.hpp(172): here was declared deprecated (\"__shfl_up() is deprecated in favor of __shfl_up_sync() and may be removed in a future release (Use -Wno-deprecated-declarations to suppress this warning).\")\n",
            "\n",
            "/content/warp-ctc/include/contrib/moderngpu/include/device/intrinsics.cuh(126): warning: function \"__shfl_up(int, unsigned int, int)\"\n",
            "/usr/local/cuda/include/sm_30_intrinsics.hpp(172): here was declared deprecated (\"__shfl_up() is deprecated in favor of __shfl_up_sync() and may be removed in a future release (Use -Wno-deprecated-declarations to suppress this warning).\")\n",
            "\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 1880; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 1884; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 1888; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 1892; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 1896; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 5613; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 5635; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 5639; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 5643; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 5647; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 5651; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 9433; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 9437; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 9459; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 9462; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 9466; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 9470; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 9474; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 13643; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 13666; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 13670; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 13674; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 13678; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 13682; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 17736; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 17740; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 17763; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 17766; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 17770; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 17774; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 17778; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 23224; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 23228; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 23232; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 23236; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 23240; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 28288; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 28311; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 28315; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 28319; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 28323; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 28327; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 32977; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 32981; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 33003; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 33006; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 33010; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 33014; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 33018; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 38835; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 38858; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 38862; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 38866; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 38870; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 38874; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 44150; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 44154; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 44177; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 44180; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 44184; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 44188; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 44192; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 50393; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 50397; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 50420; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 50423; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 50427; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 50431; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 50435; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 57006; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 57010; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 57033; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 57036; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 57040; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 57044; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-11_ctc_entrypoint.compute_35.ptx, line 57048; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "/content/warp-ctc/include/contrib/moderngpu/include/device/intrinsics.cuh(115): warning: function \"__shfl_up(float, unsigned int, int)\"\n",
            "/usr/local/cuda/include/sm_30_intrinsics.hpp(258): here was declared deprecated (\"__shfl_up() is deprecated in favor of __shfl_up_sync() and may be removed in a future release (Use -Wno-deprecated-declarations to suppress this warning).\")\n",
            "\n",
            "/content/warp-ctc/include/contrib/moderngpu/include/device/intrinsics.cuh(125): warning: function \"__shfl_up(int, unsigned int, int)\"\n",
            "/usr/local/cuda/include/sm_30_intrinsics.hpp(172): here was declared deprecated (\"__shfl_up() is deprecated in favor of __shfl_up_sync() and may be removed in a future release (Use -Wno-deprecated-declarations to suppress this warning).\")\n",
            "\n",
            "/content/warp-ctc/include/contrib/moderngpu/include/device/intrinsics.cuh(126): warning: function \"__shfl_up(int, unsigned int, int)\"\n",
            "/usr/local/cuda/include/sm_30_intrinsics.hpp(172): here was declared deprecated (\"__shfl_up() is deprecated in favor of __shfl_up_sync() and may be removed in a future release (Use -Wno-deprecated-declarations to suppress this warning).\")\n",
            "\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 1880; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 1884; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 1888; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 1892; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 1896; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 5613; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 5635; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 5639; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 5643; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 5647; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 5651; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 9433; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 9437; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 9459; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 9462; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 9466; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 9470; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 9474; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 13643; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 13666; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 13670; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 13674; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 13678; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 13682; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 17736; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 17740; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 17763; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 17766; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 17770; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 17774; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 17778; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 23224; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 23228; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 23232; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 23236; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 23240; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 28288; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 28311; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 28315; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 28319; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 28323; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 28327; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 32977; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 32981; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 33003; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 33006; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 33010; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 33014; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 33018; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 38835; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 38858; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 38862; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 38866; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 38870; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 38874; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 44150; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 44154; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 44177; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 44180; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 44184; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 44188; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 44192; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 50393; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 50397; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 50420; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 50423; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 50427; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 50431; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 50435; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 57006; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 57010; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 57033; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 57036; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 57040; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 57044; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-10_ctc_entrypoint.compute_50.ptx, line 57048; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "/content/warp-ctc/include/contrib/moderngpu/include/device/intrinsics.cuh(115): warning: function \"__shfl_up(float, unsigned int, int)\"\n",
            "/usr/local/cuda/include/sm_30_intrinsics.hpp(258): here was declared deprecated (\"__shfl_up() is deprecated in favor of __shfl_up_sync() and may be removed in a future release (Use -Wno-deprecated-declarations to suppress this warning).\")\n",
            "\n",
            "/content/warp-ctc/include/contrib/moderngpu/include/device/intrinsics.cuh(125): warning: function \"__shfl_up(int, unsigned int, int)\"\n",
            "/usr/local/cuda/include/sm_30_intrinsics.hpp(172): here was declared deprecated (\"__shfl_up() is deprecated in favor of __shfl_up_sync() and may be removed in a future release (Use -Wno-deprecated-declarations to suppress this warning).\")\n",
            "\n",
            "/content/warp-ctc/include/contrib/moderngpu/include/device/intrinsics.cuh(126): warning: function \"__shfl_up(int, unsigned int, int)\"\n",
            "/usr/local/cuda/include/sm_30_intrinsics.hpp(172): here was declared deprecated (\"__shfl_up() is deprecated in favor of __shfl_up_sync() and may be removed in a future release (Use -Wno-deprecated-declarations to suppress this warning).\")\n",
            "\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 1880; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 1884; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 1888; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 1892; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 1896; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 5613; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 5635; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 5639; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 5643; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 5647; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 5651; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 9433; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 9437; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 9459; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 9462; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 9466; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 9470; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 9474; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 13643; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 13666; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 13670; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 13674; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 13678; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 13682; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 17736; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 17740; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 17763; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 17766; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 17770; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 17774; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 17778; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 23224; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 23228; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 23232; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 23236; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 23240; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 28288; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 28311; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 28315; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 28319; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 28323; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 28327; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 32977; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 32981; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 33003; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 33006; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 33010; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 33014; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 33018; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 38835; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 38858; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 38862; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 38866; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 38870; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 38874; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 44150; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 44154; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 44177; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 44180; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 44184; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 44188; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 44192; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 50393; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 50397; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 50420; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 50423; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 50427; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 50431; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 50435; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 57006; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 57010; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 57033; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 57036; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 57040; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 57044; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-9_ctc_entrypoint.compute_52.ptx, line 57048; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "/content/warp-ctc/include/contrib/moderngpu/include/device/intrinsics.cuh(115): warning: function \"__shfl_up(float, unsigned int, int)\"\n",
            "/usr/local/cuda/include/sm_30_intrinsics.hpp(258): here was declared deprecated (\"__shfl_up() is deprecated in favor of __shfl_up_sync() and may be removed in a future release (Use -Wno-deprecated-declarations to suppress this warning).\")\n",
            "\n",
            "/content/warp-ctc/include/contrib/moderngpu/include/device/intrinsics.cuh(125): warning: function \"__shfl_up(int, unsigned int, int)\"\n",
            "/usr/local/cuda/include/sm_30_intrinsics.hpp(172): here was declared deprecated (\"__shfl_up() is deprecated in favor of __shfl_up_sync() and may be removed in a future release (Use -Wno-deprecated-declarations to suppress this warning).\")\n",
            "\n",
            "/content/warp-ctc/include/contrib/moderngpu/include/device/intrinsics.cuh(126): warning: function \"__shfl_up(int, unsigned int, int)\"\n",
            "/usr/local/cuda/include/sm_30_intrinsics.hpp(172): here was declared deprecated (\"__shfl_up() is deprecated in favor of __shfl_up_sync() and may be removed in a future release (Use -Wno-deprecated-declarations to suppress this warning).\")\n",
            "\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 1880; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 1884; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 1888; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 1892; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 1896; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 5613; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 5635; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 5639; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 5643; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 5647; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 5651; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 9433; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 9437; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 9459; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 9462; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 9466; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 9470; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 9474; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 13643; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 13666; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 13670; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 13674; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 13678; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 13682; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 17736; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 17740; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 17763; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 17766; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 17770; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 17774; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 17778; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 23224; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 23228; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 23232; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 23236; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 23240; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 28288; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 28311; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 28315; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 28319; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 28323; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 28327; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 32977; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 32981; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 33003; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 33006; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 33010; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 33014; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 33018; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 38835; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 38858; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 38862; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 38866; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 38870; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 38874; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 44150; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 44154; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 44177; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 44180; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 44184; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 44188; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 44192; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 50393; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 50397; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 50420; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 50423; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 50427; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 50431; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 50435; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 57006; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 57010; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 57033; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 57036; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 57040; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 57044; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-8_ctc_entrypoint.compute_60.ptx, line 57048; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "/content/warp-ctc/include/contrib/moderngpu/include/device/intrinsics.cuh(115): warning: function \"__shfl_up(float, unsigned int, int)\"\n",
            "/usr/local/cuda/include/sm_30_intrinsics.hpp(258): here was declared deprecated (\"__shfl_up() is deprecated in favor of __shfl_up_sync() and may be removed in a future release (Use -Wno-deprecated-declarations to suppress this warning).\")\n",
            "\n",
            "/content/warp-ctc/include/contrib/moderngpu/include/device/intrinsics.cuh(125): warning: function \"__shfl_up(int, unsigned int, int)\"\n",
            "/usr/local/cuda/include/sm_30_intrinsics.hpp(172): here was declared deprecated (\"__shfl_up() is deprecated in favor of __shfl_up_sync() and may be removed in a future release (Use -Wno-deprecated-declarations to suppress this warning).\")\n",
            "\n",
            "/content/warp-ctc/include/contrib/moderngpu/include/device/intrinsics.cuh(126): warning: function \"__shfl_up(int, unsigned int, int)\"\n",
            "/usr/local/cuda/include/sm_30_intrinsics.hpp(172): here was declared deprecated (\"__shfl_up() is deprecated in favor of __shfl_up_sync() and may be removed in a future release (Use -Wno-deprecated-declarations to suppress this warning).\")\n",
            "\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 1880; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 1884; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 1888; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 1892; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 1896; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 5613; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 5635; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 5639; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 5643; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 5647; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 5651; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 9433; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 9437; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 9459; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 9462; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 9466; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 9470; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 9474; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 13643; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 13666; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 13670; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 13674; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 13678; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 13682; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 17736; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 17740; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 17763; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 17766; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 17770; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 17774; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 17778; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 23224; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 23228; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 23232; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 23236; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 23240; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 28288; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 28311; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 28315; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 28319; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 28323; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 28327; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 32977; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 32981; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 33003; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 33006; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 33010; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 33014; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 33018; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 38835; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 38858; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 38862; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 38866; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 38870; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 38874; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 44150; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 44154; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 44177; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 44180; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 44184; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 44188; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 44192; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 50393; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 50397; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 50420; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 50423; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 50427; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 50431; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 50435; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 57006; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 57010; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 57033; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 57036; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 57040; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 57044; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-7_ctc_entrypoint.compute_61.ptx, line 57048; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "/content/warp-ctc/include/contrib/moderngpu/include/device/intrinsics.cuh(115): warning: function \"__shfl_up(float, unsigned int, int)\"\n",
            "/usr/local/cuda/include/sm_30_intrinsics.hpp(258): here was declared deprecated (\"__shfl_up() is deprecated in favor of __shfl_up_sync() and may be removed in a future release (Use -Wno-deprecated-declarations to suppress this warning).\")\n",
            "\n",
            "/content/warp-ctc/include/contrib/moderngpu/include/device/intrinsics.cuh(125): warning: function \"__shfl_up(int, unsigned int, int)\"\n",
            "/usr/local/cuda/include/sm_30_intrinsics.hpp(172): here was declared deprecated (\"__shfl_up() is deprecated in favor of __shfl_up_sync() and may be removed in a future release (Use -Wno-deprecated-declarations to suppress this warning).\")\n",
            "\n",
            "/content/warp-ctc/include/contrib/moderngpu/include/device/intrinsics.cuh(126): warning: function \"__shfl_up(int, unsigned int, int)\"\n",
            "/usr/local/cuda/include/sm_30_intrinsics.hpp(172): here was declared deprecated (\"__shfl_up() is deprecated in favor of __shfl_up_sync() and may be removed in a future release (Use -Wno-deprecated-declarations to suppress this warning).\")\n",
            "\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 1880; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 1884; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 1888; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 1892; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 1896; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 5613; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 5635; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 5639; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 5643; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 5647; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 5651; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 9433; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 9437; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 9459; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 9462; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 9466; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 9470; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 9474; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 13643; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 13666; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 13670; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 13674; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 13678; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 13682; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 17736; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 17740; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 17763; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 17766; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 17770; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 17774; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 17778; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 23224; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 23228; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 23232; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 23236; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 23240; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 28288; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 28311; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 28315; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 28319; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 28323; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 28327; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 32977; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 32981; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 33003; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 33006; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 33010; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 33014; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 33018; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 38835; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 38858; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 38862; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 38866; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 38870; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 38874; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 44150; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 44154; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 44177; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 44180; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 44184; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 44188; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 44192; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 50393; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 50397; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 50420; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 50423; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 50427; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 50431; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 50435; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 57006; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 57010; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 57033; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 57036; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 57040; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 57044; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-6_ctc_entrypoint.compute_62.ptx, line 57048; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 1880; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 1880; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 1884; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 1884; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 1888; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 1888; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 1892; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 1892; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 1896; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 1896; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 5613; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 5613; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 5635; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 5635; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 5639; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 5639; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 5643; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 5643; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 5647; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 5647; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 5651; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 5651; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 9433; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 9433; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 9437; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 9437; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 9459; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 9459; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 9462; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 9462; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 9466; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 9466; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 9470; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 9470; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 9474; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 9474; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 13643; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 13643; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 13666; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 13666; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 13670; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 13670; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 13674; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 13674; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 13678; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 13678; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 13682; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 13682; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 17736; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 17736; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 17740; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 17740; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 17763; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 17763; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 17766; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 17766; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 17770; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 17770; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 17774; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 17774; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 17778; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 17778; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 23224; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 23224; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 23228; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 23228; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 23232; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 23232; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 23236; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 23236; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 23240; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 23240; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 28288; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 28288; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 28311; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 28311; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 28315; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 28315; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 28319; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 28319; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 28323; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 28323; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 28327; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 28327; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 32977; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 32977; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 32981; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 32981; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 33003; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 33003; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 33006; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 33006; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 33010; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 33010; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 33014; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 33014; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 33018; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 33018; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 38835; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 38835; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 38858; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 38858; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 38862; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 38862; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 38866; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 38866; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 38870; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 38870; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 38874; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 38874; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 44150; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 44150; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 44154; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 44154; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 44177; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 44177; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 44180; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 44180; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 44184; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 44184; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 44188; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 44188; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 44192; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 44192; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 50393; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 50393; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 50397; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 50397; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 50420; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 50420; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 50423; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 50423; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 50427; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 50427; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 50431; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 50431; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 50435; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 50435; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 57006; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 57006; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 57010; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 57010; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 57033; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 57033; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 57036; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 57036; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 57040; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 57040; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 57044; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 57044; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 57048; warning : Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures\n",
            "ptxas /tmp/tmpxft_00003af6_00000000-5_ctc_entrypoint.compute_70.ptx, line 57048; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version\n",
            "\u001b[35m\u001b[1mScanning dependencies of target warpctc\u001b[0m\n",
            "[ 33%] \u001b[32m\u001b[1mLinking CXX shared library libwarpctc.so\u001b[0m\n",
            "[ 33%] Built target warpctc\n",
            "[ 44%] \u001b[34m\u001b[1mBuilding NVCC (Device) object CMakeFiles/test_gpu.dir/tests/test_gpu_generated_test_gpu.cu.o\u001b[0m\n",
            "\u001b[35m\u001b[1mScanning dependencies of target test_gpu\u001b[0m\n",
            "[ 55%] \u001b[32mBuilding CXX object CMakeFiles/test_gpu.dir/tests/random.cpp.o\u001b[0m\n",
            "[ 66%] \u001b[32m\u001b[1mLinking CXX executable test_gpu\u001b[0m\n",
            "[ 66%] Built target test_gpu\n",
            "\u001b[35m\u001b[1mScanning dependencies of target test_cpu\u001b[0m\n",
            "[ 77%] \u001b[32mBuilding CXX object CMakeFiles/test_cpu.dir/tests/test_cpu.cpp.o\u001b[0m\n",
            "[ 88%] \u001b[32mBuilding CXX object CMakeFiles/test_cpu.dir/tests/random.cpp.o\u001b[0m\n",
            "[100%] \u001b[32m\u001b[1mLinking CXX executable test_cpu\u001b[0m\n",
            "[100%] Built target test_cpu\n",
            "running install\n",
            "running bdist_egg\n",
            "running egg_info\n",
            "creating warpctc_pytorch.egg-info\n",
            "writing warpctc_pytorch.egg-info/PKG-INFO\n",
            "writing dependency_links to warpctc_pytorch.egg-info/dependency_links.txt\n",
            "writing top-level names to warpctc_pytorch.egg-info/top_level.txt\n",
            "writing manifest file 'warpctc_pytorch.egg-info/SOURCES.txt'\n",
            "writing manifest file 'warpctc_pytorch.egg-info/SOURCES.txt'\n",
            "installing library code to build/bdist.linux-x86_64/egg\n",
            "running install_lib\n",
            "running build_py\n",
            "creating build\n",
            "creating build/lib.linux-x86_64-3.6\n",
            "creating build/lib.linux-x86_64-3.6/warpctc_pytorch\n",
            "copying warpctc_pytorch/__init__.py -> build/lib.linux-x86_64-3.6/warpctc_pytorch\n",
            "running build_ext\n",
            "building 'warpctc_pytorch._warp_ctc' extension\n",
            "creating build/temp.linux-x86_64-3.6\n",
            "creating build/temp.linux-x86_64-3.6/src\n",
            "x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/content/warp-ctc/include -I/usr/local/lib/python3.6/dist-packages/torch/include -I/usr/local/lib/python3.6/dist-packages/torch/include/torch/csrc/api/include -I/usr/local/lib/python3.6/dist-packages/torch/include/TH -I/usr/local/lib/python3.6/dist-packages/torch/include/THC -I/usr/local/cuda/include -I/usr/include/python3.6m -c src/binding.cpp -o build/temp.linux-x86_64-3.6/src/binding.o -std=c++11 -fPIC -DWARPCTC_ENABLE_GPU -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=_warp_ctc -D_GLIBCXX_USE_CXX11_ABI=0\n",
            "x86_64-linux-gnu-g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-3.6/src/binding.o -L/content/warp-ctc/build -L/usr/local/cuda/lib64 -lwarpctc -lcudart -o build/lib.linux-x86_64-3.6/warpctc_pytorch/_warp_ctc.cpython-36m-x86_64-linux-gnu.so -Wl,-rpath,/content/warp-ctc/build\n",
            "creating build/bdist.linux-x86_64\n",
            "creating build/bdist.linux-x86_64/egg\n",
            "creating build/bdist.linux-x86_64/egg/warpctc_pytorch\n",
            "copying build/lib.linux-x86_64-3.6/warpctc_pytorch/__init__.py -> build/bdist.linux-x86_64/egg/warpctc_pytorch\n",
            "copying build/lib.linux-x86_64-3.6/warpctc_pytorch/_warp_ctc.cpython-36m-x86_64-linux-gnu.so -> build/bdist.linux-x86_64/egg/warpctc_pytorch\n",
            "byte-compiling build/bdist.linux-x86_64/egg/warpctc_pytorch/__init__.py to __init__.cpython-36.pyc\n",
            "creating stub loader for warpctc_pytorch/_warp_ctc.cpython-36m-x86_64-linux-gnu.so\n",
            "byte-compiling build/bdist.linux-x86_64/egg/warpctc_pytorch/_warp_ctc.py to _warp_ctc.cpython-36.pyc\n",
            "creating build/bdist.linux-x86_64/egg/EGG-INFO\n",
            "copying warpctc_pytorch.egg-info/PKG-INFO -> build/bdist.linux-x86_64/egg/EGG-INFO\n",
            "copying warpctc_pytorch.egg-info/SOURCES.txt -> build/bdist.linux-x86_64/egg/EGG-INFO\n",
            "copying warpctc_pytorch.egg-info/dependency_links.txt -> build/bdist.linux-x86_64/egg/EGG-INFO\n",
            "copying warpctc_pytorch.egg-info/top_level.txt -> build/bdist.linux-x86_64/egg/EGG-INFO\n",
            "writing build/bdist.linux-x86_64/egg/EGG-INFO/native_libs.txt\n",
            "zip_safe flag not set; analyzing archive contents...\n",
            "warpctc_pytorch.__pycache__._warp_ctc.cpython-36: module references __file__\n",
            "creating dist\n",
            "creating 'dist/warpctc_pytorch-0.1-py3.6-linux-x86_64.egg' and adding 'build/bdist.linux-x86_64/egg' to it\n",
            "removing 'build/bdist.linux-x86_64/egg' (and everything under it)\n",
            "Processing warpctc_pytorch-0.1-py3.6-linux-x86_64.egg\n",
            "creating /usr/local/lib/python3.6/dist-packages/warpctc_pytorch-0.1-py3.6-linux-x86_64.egg\n",
            "Extracting warpctc_pytorch-0.1-py3.6-linux-x86_64.egg to /usr/local/lib/python3.6/dist-packages\n",
            "Adding warpctc-pytorch 0.1 to easy-install.pth file\n",
            "\n",
            "Installed /usr/local/lib/python3.6/dist-packages/warpctc_pytorch-0.1-py3.6-linux-x86_64.egg\n",
            "Processing dependencies for warpctc-pytorch==0.1\n",
            "Finished processing dependencies for warpctc-pytorch==0.1\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "zEHVyaMpLXq0",
        "colab_type": "code",
        "outputId": "1ce9b0e3-cc37-4b20-d2ca-cc040be4094d",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 119
        }
      },
      "source": [
        "!ls -lh ./warp-ctc/pytorch_binding/build/lib.linux-x86_64-3.6/warpctc_pytorch\n",
        "!cp -r ./warp-ctc/pytorch_binding/build/lib.linux-x86_64-3.6/warpctc_pytorch ./cptn-crnn/crnn\n",
        "!ls -lh ./cptn-crnn/crnn/warpctc_pytorch"
      ],
      "execution_count": 26,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "total 4.4M\n",
            "-rw-r--r-- 1 root root 2.9K Jul  4 02:04 __init__.py\n",
            "-rwxr-xr-x 1 root root 4.4M Jul  4 02:06 _warp_ctc.cpython-36m-x86_64-linux-gnu.so\n",
            "total 4.4M\n",
            "-rw-r--r-- 1 root root 2.9K Jul  4 02:20 __init__.py\n",
            "-rwxr-xr-x 1 root root 4.4M Jul  4 02:20 _warp_ctc.cpython-36m-x86_64-linux-gnu.so\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "qwnCz2HF5B1j",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "# !cp ./drive/my_gpu/tinymind/train_cptn_result.zip ./;unzip train_cptn_result.zip\n",
        "!cp ./drive/my_gpu/tinymind/test_cptn_result.zip ./;unzip test_cptn_result.zip"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "I-9GYxgvyRA9",
        "colab_type": "text"
      },
      "source": [
        "###制作训练数据集"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "lwmyoQS4yURS",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "!mkdir crnn_train_data;mkdir crnn_val_data"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "9bqQwQci387Q",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "import lmdb  # install lmdb by \"pip install lmdb\"\n",
        "import cv2\n",
        "from PIL import Image, ImageFilter\n",
        "import numpy as np\n",
        "import pandas as pd\n",
        "import os\n",
        "\n",
        "\n",
        "def SaltAndPepper(src, percetage):\n",
        "    SP_NoiseImg = src.copy()\n",
        "    SP_NoiseNum = int(percetage * src.shape[0] * src.shape[1])\n",
        "    for i in range(SP_NoiseNum):\n",
        "        randR = np.random.randint(0, src.shape[0] - 1)\n",
        "        randG = np.random.randint(0, src.shape[1] - 1)\n",
        "        randB = np.random.randint(0, 3)\n",
        "        if np.random.randint(0, 1) == 0:\n",
        "            SP_NoiseImg[randR, randG, randB] = 0\n",
        "        else:\n",
        "            SP_NoiseImg[randR, randG, randB] = 255\n",
        "    return SP_NoiseImg\n",
        "\n",
        "\n",
        "def addGaussianNoise(image, percetage):\n",
        "    G_Noiseimg = image.copy()\n",
        "    w = image.shape[1]\n",
        "    h = image.shape[0]\n",
        "    G_NoiseNum = int(percetage * image.shape[0] * image.shape[1])\n",
        "    for i in range(G_NoiseNum):\n",
        "        temp_x = np.random.randint(0, h)\n",
        "        temp_y = np.random.randint(0, w)\n",
        "        G_Noiseimg[temp_x][temp_y][np.random.randint(3)] = np.random.randn(1)[0]\n",
        "    return G_Noiseimg\n",
        "\n",
        "\n",
        "# dimming\n",
        "def darker(image, percetage=0.9):\n",
        "    image_copy = image.copy()\n",
        "    w = image.shape[1]\n",
        "    h = image.shape[0]\n",
        "    # get darker\n",
        "    for xi in range(0, w):\n",
        "        for xj in range(0, h):\n",
        "            image_copy[xj, xi, 0] = int(image[xj, xi, 0] * percetage)\n",
        "            image_copy[xj, xi, 1] = int(image[xj, xi, 1] * percetage)\n",
        "            image_copy[xj, xi, 2] = int(image[xj, xi, 2] * percetage)\n",
        "    return image_copy\n",
        "\n",
        "\n",
        "def brighter(image, percetage=1.5):\n",
        "    image_copy = image.copy()\n",
        "    w = image.shape[1]\n",
        "    h = image.shape[0]\n",
        "    # get brighter\n",
        "    for xi in range(0, w):\n",
        "        for xj in range(0, h):\n",
        "            image_copy[xj, xi, 0] = np.clip(int(image[xj, xi, 0] * percetage), a_max=255, a_min=0)\n",
        "            image_copy[xj, xi, 1] = np.clip(int(image[xj, xi, 1] * percetage), a_max=255, a_min=0)\n",
        "            image_copy[xj, xi, 2] = np.clip(int(image[xj, xi, 2] * percetage), a_max=255, a_min=0)\n",
        "    return image_copy\n",
        "\n",
        "\n",
        "def rotate(image, angle=15, scale=0.9):\n",
        "    w = image.shape[1]\n",
        "    h = image.shape[0]\n",
        "    # rotate matrix\n",
        "    M = cv2.getRotationMatrix2D((w / 2, h / 2), angle, scale)\n",
        "    # rotate\n",
        "    image = cv2.warpAffine(image, M, (w, h))\n",
        "    return image\n",
        "\n",
        "\n",
        "def average(image):\n",
        "    gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)\n",
        "    # [x,y] is the kernel for bluring\n",
        "    # the large kernel becomes, the more blurred imag will appear\n",
        "    # hstack is able to stack multiple images together\n",
        "    # using simple mean to average\n",
        "    image = cv2.blur(gray, (7, 7))\n",
        "    return image\n",
        "\n",
        "\n",
        "def gaussian(image):\n",
        "    gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)\n",
        "    # [x,y] is the kernel for bluring\n",
        "    # the large kernel becomes, the more blurred imag will appear\n",
        "    # hstack is able to stack multiple images together\n",
        "    # using simple mean to average\n",
        "    image = cv2.GaussianBlur(gray, (7, 7), 0)\n",
        "    return image\n",
        "\n",
        "\n",
        "def median(image):\n",
        "    gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)\n",
        "    # [x,y] is the kernel for bluring\n",
        "    # the large kernel becomes, the more blurred imag will appear\n",
        "    # hstack is able to stack multiple images together\n",
        "    # using simple mean to average\n",
        "    image = cv2.medianBlur(gray, 7)\n",
        "    return image\n",
        "\n",
        "\n",
        "def bilateral(image):\n",
        "    gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)\n",
        "    # [x,y] is the kernel for bluring\n",
        "    # the large kernel becomes, the more blurred imag will appear\n",
        "    # hstack is able to stack multiple images together\n",
        "    # using simple mean to average\n",
        "    image = cv2.bilateralFilter(gray, 9, 41, 41)\n",
        "    return image\n",
        "\n",
        "\n",
        "def checkImageIsValid(imageBin):\n",
        "    if imageBin is None:\n",
        "        return False\n",
        "    try:\n",
        "        imageBuf = np.fromstring(imageBin, dtype=np.uint8)\n",
        "        img = cv2.imdecode(imageBuf, cv2.IMREAD_GRAYSCALE)\n",
        "        imgH, imgW = img.shape[0], img.shape[1]\n",
        "    except:\n",
        "        return False\n",
        "    else:\n",
        "        if imgH * imgW == 0:\n",
        "            return False\n",
        "    return True\n",
        "\n",
        "\n",
        "def writeCache(env, cache):\n",
        "    with env.begin(write=True) as txn:\n",
        "        for k, v in cache.items():\n",
        "            if (isinstance(v, bytes)):\n",
        "                txn.put(k.encode(), v)\n",
        "            else:\n",
        "                txn.put(k.encode(), v.encode())\n",
        "\n",
        "\n",
        "def createDataset(outputPath, imagePathList, labelList, lexiconList=None, checkValid=True):\n",
        "    \"\"\"\n",
        "    Create LMDB dataset for CRNN training.\n",
        "    ARGS:\n",
        "        outputPath    : LMDB output path\n",
        "        imagePathList : list of image path\n",
        "        labelList     : list of corresponding groundtruth texts\n",
        "        lexiconList   : (optional) list of lexicon lists\n",
        "        checkValid    : if true, check the validity of every image\n",
        "    \"\"\"\n",
        "    assert (len(imagePathList) == len(labelList))\n",
        "    nSamples = len(imagePathList)\n",
        "    env = lmdb.open(outputPath, map_size=1099511627776)\n",
        "    cache = {}\n",
        "    cnt = 1\n",
        "    for i in range(nSamples):\n",
        "        imagePath = os.path.join(DATA_FOLDER, imagePathList[i])\n",
        "        # print(imagePath)\n",
        "        label = ''.join(labelList[i])\n",
        "        # print(label)\n",
        "        if not os.path.exists(imagePath):\n",
        "            print('%s does not exist' % imagePath)\n",
        "            continue\n",
        "\n",
        "        image = cv2.imread(imagePath)\n",
        "\n",
        "#         image = cv2.resize(image, (192, 32))\n",
        "\n",
        "        image = Image.fromarray(cv2.cvtColor(image, cv2.COLOR_BGR2RGB))\n",
        "        # image1 = image.filter(ImageFilter.CONTOUR)\n",
        "#         image2 = image.filter(ImageFilter.SMOOTH_MORE)\n",
        "        # image3 = image.filter(ImageFilter.GaussianBlur(radius=1.3))\n",
        "        for img in [image]:\n",
        "            mew_images = cv2.cvtColor(np.asarray(img), cv2.COLOR_RGB2BGR)\n",
        "\n",
        "            for mew_image in [mew_images\n",
        "                # , SaltAndPepper(mew_images, 0.3), addGaussianNoise(mew_images, 0.3)\n",
        "                              # , brighter(mew_images), darker(mew_images), gaussian(mew_images), median(mew_images),\n",
        "                              #               bilateral(mew_images)\n",
        "                              ]:\n",
        "\n",
        "                img_encode = cv2.imencode('.jpg', mew_image)[1]\n",
        "                data_encode = np.array(img_encode)\n",
        "                imageBin = data_encode.tostring()\n",
        "\n",
        "                if checkValid:\n",
        "                    if not checkImageIsValid(imageBin):\n",
        "                        print('%s is not a valid image' % imagePath)\n",
        "                        continue\n",
        "                imageKey = 'image-%09d' % cnt\n",
        "                labelKey = 'label-%09d' % cnt\n",
        "                cache[imageKey] = imageBin\n",
        "                cache[labelKey] = label\n",
        "                if lexiconList:\n",
        "                    lexiconKey = 'lexicon-%09d' % cnt\n",
        "                    cache[lexiconKey] = ' '.join(lexiconList[i])\n",
        "                if cnt % 1000 == 0:\n",
        "                    writeCache(env, cache)\n",
        "                    cache = {}\n",
        "                    print('Written %d / %d' % (cnt, nSamples))\n",
        "                cnt += 1\n",
        "        # print(cnt)\n",
        "    nSamples = cnt - 1\n",
        "    cache['num-samples'] = str(nSamples)\n",
        "    writeCache(env, cache)\n",
        "    print('Created dataset with %d samples' % nSamples)\n",
        "\n",
        "\n",
        "# DATA_FOLDER = \"./train_cptn_result/\"\n",
        "\n",
        "# outputPath = \"./crnn_train_data/\"\n",
        "# imageList = []\n",
        "\n",
        "# label = pd.read_csv('./train_id_label.csv')\n",
        "# mianzhi = pd.read_csv('./train_face_value_label.csv')\n",
        "# print(label.shape)\n",
        "# labelList = []\n",
        "# for index, row in label.iterrows():\n",
        "#     if row['name'] in mianzhi['name'].values:\n",
        "#       imageList.append(row['name'])\n",
        "#       labelList.append(row['label'].strip())\n",
        "# print(len(labelList))\n",
        "# # import random\n",
        "# # random.shuffle(imageList)\n",
        "# createDataset(outputPath, imageList, labelList)\n"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "Rlj_9ctccqfX",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "label = pd.read_csv('./train_id_label.csv')\n",
        "DATA_FOLDER = \"./train_cptn_result/\"\n",
        "outputPath = \"./crnn_train_data/\"\n",
        "imageList = []\n",
        "labelList = []\n",
        "label = label[:37000]\n",
        "img_nameList = os.listdir('./train_cptn_result_repair')\n",
        "for index, row in label.iterrows():\n",
        "  if row['name'] in img_nameList:\n",
        "    print(row['name'])\n",
        "    for i in range(200):\n",
        "      imageList.append(row['name'])\n",
        "      labelList.append(row['label'].strip())\n",
        "  else:\n",
        "    imageList.append(row['name'])\n",
        "    labelList.append(row['label'].strip())\n",
        "print(len(labelList))\n",
        "createDataset(outputPath, imageList, labelList)\n",
        "\n",
        "label = pd.read_csv('./train_id_label.csv')\n",
        "DATA_FOLDER = \"./train_cptn_result/\"\n",
        "outputPath = \"./crnn_val_data/\"\n",
        "imageList = []\n",
        "labelList = []\n",
        "label = label[37000:]\n",
        "for index, row in label.iterrows():\n",
        "    imageList.append(row['name'])\n",
        "    labelList.append(row['label'].strip())\n",
        "print(len(labelList))\n",
        "createDataset(outputPath, imageList, labelList)"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "Nt5iJQpzA6HW",
        "colab_type": "code",
        "outputId": "f66e28cf-eb43-43aa-e4f9-5f634c216641",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 398
        }
      },
      "source": [
        "import random\n",
        "import torch\n",
        "from torch.utils.data import Dataset\n",
        "from torch.utils.data import sampler\n",
        "import torchvision.transforms as transforms\n",
        "import lmdb\n",
        "import six\n",
        "import sys\n",
        "from PIL import Image, ImageFilter\n",
        "import numpy as np\n",
        "import cv2\n",
        "import matplotlib.pyplot as plt\n",
        "%matplotlib inline\n",
        "\n",
        "\n",
        "class lmdbDataset(Dataset):\n",
        "\n",
        "    def __init__(self, root=None, transform=None, target_transform=None):\n",
        "        self.env = lmdb.open(\n",
        "            root,\n",
        "            max_readers=1,\n",
        "            readonly=True,\n",
        "            lock=False,\n",
        "            readahead=False,\n",
        "            meminit=False)\n",
        "\n",
        "        if not self.env:\n",
        "            print('cannot creat lmdb from %s' % (root))\n",
        "            sys.exit(0)\n",
        "\n",
        "        with self.env.begin(write=False) as txn:\n",
        "            str = 'num-samples'\n",
        "            nSamples = int(txn.get(str.encode()))\n",
        "            self.nSamples = nSamples\n",
        "\n",
        "        self.transform = transform\n",
        "        self.target_transform = target_transform\n",
        "\n",
        "    def __len__(self):\n",
        "        return self.nSamples\n",
        "\n",
        "    def __getitem__(self, index):\n",
        "        assert index <= len(self), 'index range error'\n",
        "        index += 1\n",
        "        with self.env.begin(write=False) as txn:\n",
        "            img_key = 'image-%09d' % index\n",
        "            imgbuf = txn.get(img_key.encode())\n",
        "\n",
        "            buf = six.BytesIO()\n",
        "            buf.write(imgbuf)\n",
        "            buf.seek(0)\n",
        "            try:\n",
        "                img = Image.open(buf).convert('L')\n",
        "            except IOError:\n",
        "                print('Corrupted image for %d' % index)\n",
        "                return self[index + 1]\n",
        "\n",
        "            if self.transform is not None:\n",
        "                img = self.transform(img)\n",
        "\n",
        "            label_key = 'label-%09d' % index\n",
        "            label = txn.get(label_key.encode())\n",
        "\n",
        "            if self.target_transform is not None:\n",
        "                label = self.target_transform(label)\n",
        "        item = label.decode('utf-8', 'strict')\n",
        "\n",
        "        # (w, h) = img.size\n",
        "        print(img.size, item)\n",
        "#         img.show(title='old')\n",
        "#         imshow(img)\n",
        "#         plt.show()\n",
        "        plt.imshow(img, cmap='gray')\n",
        "        plt.show()\n",
        "\n",
        "\n",
        "        # filter_ = random.choice(\n",
        "        #     [ImageFilter.SMOOTH,\n",
        "        #      ImageFilter.SMOOTH_MORE,\n",
        "        #      ImageFilter.GaussianBlur(radius=1.3)]\n",
        "        # )\n",
        "#         img1 = img.filter(ImageFilter.CONTOUR)\n",
        "# #         img1.show(title='old1')\n",
        "#         plt.imshow(img1, cmap='gray')\n",
        "#         plt.show()\n",
        "\n",
        "\n",
        "#         img2 = img.filter(ImageFilter.SMOOTH_MORE)\n",
        "#         plt.imshow(img2, cmap='gray')\n",
        "#         plt.show()\n",
        "\n",
        "#         # img2.show(title='old2')\n",
        "#         img3 = img.filter(ImageFilter.GaussianBlur(radius=1.3))\n",
        "#         plt.imshow(img3, cmap='gray')\n",
        "#         plt.show()\n",
        "        # img3.show(title='old3')\n",
        "\n",
        "        transform = resizeNormalize((192, 32))\n",
        "        img = transform(img)\n",
        "\n",
        "        return (img, label)\n",
        "\n",
        "\n",
        "class resizeNormalize(object):\n",
        "\n",
        "    def __init__(self, size, interpolation=Image.BILINEAR):\n",
        "        self.size = size\n",
        "        self.interpolation = interpolation\n",
        "        self.toTensor = transforms.ToTensor()\n",
        "\n",
        "    def __call__(self, img):\n",
        "        img = img.resize(self.size, self.interpolation)\n",
        "#         img.show(title='resize')\n",
        "        img = self.toTensor(img)\n",
        "        img.sub_(0.5).div_(0.5)\n",
        "        return img\n",
        "\n",
        "\n",
        "class randomSequentialSampler(sampler.Sampler):\n",
        "\n",
        "    def __init__(self, data_source, batch_size):\n",
        "        self.num_samples = len(data_source)\n",
        "        self.batch_size = batch_size\n",
        "\n",
        "    def __iter__(self):\n",
        "        n_batch = len(self) // self.batch_size\n",
        "        tail = len(self) % self.batch_size\n",
        "        index = torch.LongTensor(len(self)).fill_(0)\n",
        "        for i in range(n_batch):\n",
        "            random_start = random.randint(0, len(self) - self.batch_size)\n",
        "            batch_index = random_start + torch.range(0, self.batch_size - 1)\n",
        "            index[i * self.batch_size:(i + 1) * self.batch_size] = batch_index\n",
        "        # deal with tail\n",
        "        if tail:\n",
        "            random_start = random.randint(0, len(self) - self.batch_size)\n",
        "            tail_index = random_start + torch.range(0, tail - 1)\n",
        "            index[(i + 1) * self.batch_size:] = tail_index\n",
        "\n",
        "        return iter(index)\n",
        "\n",
        "    def __len__(self):\n",
        "        return self.num_samples\n",
        "\n",
        "\n",
        "class alignCollate(object):\n",
        "\n",
        "    def __init__(self, imgH=32, imgW=256, keep_ratio=False, min_ratio=1):\n",
        "        self.imgH = imgH\n",
        "        self.imgW = imgW\n",
        "        self.keep_ratio = keep_ratio\n",
        "        self.min_ratio = min_ratio\n",
        "\n",
        "    def __call__(self, batch):\n",
        "        images, labels = zip(*batch)\n",
        "        imgH = self.imgH\n",
        "        imgW = self.imgW\n",
        "        if self.keep_ratio:\n",
        "            ratios = []\n",
        "            for image in images:\n",
        "                w, h = image.size\n",
        "                ratios.append(w / float(h))\n",
        "            ratios.sort()\n",
        "            max_ratio = ratios[-1]\n",
        "            imgW = int(np.floor(max_ratio * imgH))\n",
        "            imgW = max(imgH * self.min_ratio, imgW)  # assure imgH >= imgW\n",
        "\n",
        "        transform = resizeNormalize((imgW, imgH))\n",
        "        images = [transform(image) for image in images]\n",
        "        images = torch.cat([t.unsqueeze(0) for t in images], 0)\n",
        "\n",
        "        return images, labels\n",
        "\n",
        "\n",
        "data = lmdbDataset('./crnn_train_data')\n",
        "i = random.randint(0, 26000)\n",
        "print(i)\n",
        "data.__getitem__(i)\n",
        "\n",
        "data = lmdbDataset('./crnn_val_data')\n",
        "i = random.randint(0, 700)\n",
        "print(i)\n",
        "data.__getitem__(i)"
      ],
      "execution_count": 0,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "3891\n",
            "(272, 45) K1E6457033\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        },
        {
          "output_type": "stream",
          "text": [
            "494\n",
            "(256, 40) QK65434011\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\nHwu64bR0+7tBAAAAAElFTkSuQmCC\n",
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        },
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "(tensor([[[-0.1608, -0.1686, -0.1843,  ..., -0.4980, -0.3412, -0.3333],\n",
              "          [-0.1529, -0.1686, -0.1843,  ..., -0.4980, -0.2549, -0.2627],\n",
              "          [-0.1686, -0.1686, -0.1922,  ..., -0.5137, -0.2549, -0.2627],\n",
              "          ...,\n",
              "          [-0.2941, -0.2706, -0.1686,  ..., -0.3882, -0.3333, -0.3490],\n",
              "          [-0.3647, -0.3725, -0.2627,  ..., -0.3255, -0.3647, -0.4196],\n",
              "          [-0.3412, -0.3961, -0.3176,  ..., -0.3255, -0.4667, -0.5529]]]),\n",
              " b'QK65434011')"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 33
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "7YXyEmrRwSre",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "!mkdir ./cptn-crnn/crnn/expr"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "mn9IgqFdM3MR",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "!cd ./cptn-crnn/crnn;python crnn_main.py --trainroot '/content/crnn_train_data' --valroot '/content/crnn_val_data' --cuda --model_path './expr/best_model_17_4000.pth'"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "l_UvTIHkzUer",
        "colab_type": "text"
      },
      "source": [
        "###尝试不同金额单独训练模型，效果不理想，放弃"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "aq9zfZnRkz7f",
        "colab_type": "code",
        "outputId": "d2e79df7-c0fe-47b6-a4f1-52c2987bad06",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 34
        }
      },
      "source": [
        "from shutil import copyfile\n",
        "\n",
        "ten = pd.read_csv('./resnet50.csv')\n",
        "for index, row in ten.iterrows():\n",
        "  if row['label']==10 or row['label']==50 or row['label']==100:\n",
        "    copyfile(os.path.join('./test_cptn_result_add',row['name']),'./test_cptn_result/'+row['name'])\n",
        "    \n",
        "!ls -lh test_cptn_result|wc -l"
      ],
      "execution_count": 0,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "6637\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "hFAEvbfol7_b",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "ten = pd.read_csv('./resnet50.csv')\n",
        "ten['label'].value_counts()"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "P-2xcxN038EW",
        "colab_type": "text"
      },
      "source": [
        "###识别"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "sMzc6tzjv5pf",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "!mkdir test_cptn_result;cp ./data_res/img/* test_cptn_result"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "Rz6Xf7rkcMuL",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "!mkdir ./cptn-crnn/crnn/expr\n",
        "!cp ./drive/my_gpu/tinymind/best_model.pth ./cptn-crnn/crnn/expr/"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "kN7uRRWpzD_q",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "!cd ./cptn-crnn/crnn;python predict.py"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "yn0Gp_M74GEZ",
        "colab_type": "text"
      },
      "source": [
        "###聚合三个模型的结果"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "ln_s-qEc6dtE",
        "colab_type": "code",
        "outputId": "09ea2a3a-a242-4ac3-e4d2-fc08ba515fff",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 8653
        }
      },
      "source": [
        "import os\n",
        "from shutil import copyfile\n",
        "from PIL import Image\n",
        "import matplotlib.pyplot as plt\n",
        "import pandas as pd\n",
        "%matplotlib inline\n",
        "def drow(img):\n",
        "  img = Image.open('/content/test_cptn_result/'+img)\n",
        "#   .convert('L')\n",
        "#   img = img.resize((160,32), Image.ANTIALIAS)\n",
        "  plt.imshow(img, cmap='gray')\n",
        "  plt.show()\n",
        "  \n",
        "label1_data = pd.read_csv('./aster_out/aster_result_0603.csv')\n",
        "label2_data = pd.read_csv('./densent_rg_result.csv')\n",
        "label3_data = pd.read_csv('./cptn-crnn/crnn/crnn_train_result_0606.csv')\n",
        "\n",
        "i = 0\n",
        "for index, row in label1_data.iterrows():\n",
        "  name = row['name']\n",
        "  if index%1000==0:\n",
        "    print(index)\n",
        "  label1 = row['label']\n",
        "  label2 = label2_data[label2_data['name']==name]['label'].values[0]\n",
        "  label3 = label3_data[label3_data['name']==name]['label'].values[0]\n",
        "  if label1==label2 and label1==label3:\n",
        "    if len(label1) != 10 :\n",
        "      print('三个相同.......not 10',name,label1,label2,label3)\n",
        "    continue\n",
        "  if label1==label2 :\n",
        "    if len(label1) != 10 :\n",
        "      print('两个个相同.......not 10',name,label1,label2,label3)\n",
        "    pass\n",
        "#     print(index,row['name'],label1,label2,label3,drow(row['name']))\n",
        "#     i = i +1\n",
        "  elif label1==label3:\n",
        "    if len(label1) != 10 :\n",
        "      print('两个个相同.......not 10',name,label1,label2,label3)\n",
        "    pass\n",
        "#     print(index,row['name'],label1,label2,label3,drow(row['name']))\n",
        "#     i = i +1\n",
        "  elif label2==label3:\n",
        "    if len(label2) != 10 :\n",
        "      print('两个个相同.......not 10',name,label1,label2,label3)\n",
        "#     print(index,row['name'],label1,label2,label3,drow(row['name']))\n",
        "#     i = i +1\n",
        "    label1_data.loc[label1_data['name']==name,'label'] = label2\n",
        "  else:\n",
        "    if len(label1) !=10 :\n",
        "      print('三个都不同....label2...not 10',name,label1,label2,label3)\n",
        "    i = i +1\n",
        "    print(index,row['name'],label1,label2,label3,drow(row['name']))\n",
        "    label1_data.loc[label1_data['name']==name,'label'] = label3\n",
        "print(i)\n",
        "label1_data.to_csv('./merge_result.csv',index=False)\n"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "7ZywdbGL9LzD",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        ""
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "08kVmGv79Lti",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        ""
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "WEItstaH4fUw",
        "colab_type": "text"
      },
      "source": [
        "###数据增强"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "nujq5R2l9LeH",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "import cv2\n",
        "import numpy as np\n",
        "import os\n",
        "\n",
        "def zmMinFilterGray(src, r=7):\n",
        "    '''最小值滤波，r是滤波器半径'''\n",
        "    if r <= 0:\n",
        "        return src\n",
        "    h, w = src.shape[:2]\n",
        "    I = src\n",
        "    res = np.minimum(I, I[[0] + list(range(h - 1)), :])\n",
        "    res = np.minimum(res, I[list(range(1, h)) + [h - 1], :])\n",
        "    I = res\n",
        "    res = np.minimum(I, I[:, [0] + list(range(w - 1))])\n",
        "    res = np.minimum(res, I[:, list(range(1, w)) + [w - 1]])\n",
        "    return zmMinFilterGray(res, r - 1)\n",
        "\n",
        "\n",
        "def guidedfilter(I, p, r, eps):\n",
        "    '''引导滤波，直接参考网上的matlab代码'''\n",
        "    height, width = I.shape\n",
        "    m_I = cv2.boxFilter(I, -1, (r, r))\n",
        "    m_p = cv2.boxFilter(p, -1, (r, r))\n",
        "    m_Ip = cv2.boxFilter(I * p, -1, (r, r))\n",
        "    cov_Ip = m_Ip - m_I * m_p\n",
        "\n",
        "    m_II = cv2.boxFilter(I * I, -1, (r, r))\n",
        "    var_I = m_II - m_I * m_I\n",
        "\n",
        "    a = cov_Ip / (var_I + eps)\n",
        "    b = m_p - a * m_I\n",
        "\n",
        "    m_a = cv2.boxFilter(a, -1, (r, r))\n",
        "    m_b = cv2.boxFilter(b, -1, (r, r))\n",
        "    return m_a * I + m_b\n",
        "\n",
        "\n",
        "def getV1(m, r, eps, w, maxV1):  # 输入rgb图像，值范围[0,1]\n",
        "    '''计算大气遮罩图像V1和光照值A, V1 = 1-t/A'''\n",
        "    V1 = np.min(m, 2)  # 得到暗通道图像\n",
        "    V1 = guidedfilter(V1, zmMinFilterGray(V1, 7), r, eps)  # 使用引导滤波优化\n",
        "    bins = 2000\n",
        "    ht = np.histogram(V1, bins)  # 计算大气光照A\n",
        "    d = np.cumsum(ht[0]) / float(V1.size)\n",
        "    for lmax in range(bins - 1, 0, -1):\n",
        "        if d[lmax] <= 0.999:\n",
        "            break\n",
        "    A = np.mean(m, 2)[V1 >= ht[1][lmax]].max()\n",
        "\n",
        "    V1 = np.minimum(V1 * w, maxV1)  # 对值范围进行限制\n",
        "\n",
        "    return V1, A\n",
        "\n",
        "\n",
        "def deHaze(m, r=81, eps=0.001, w=0.95, maxV1=0.80, bGamma=False):\n",
        "    Y = np.zeros(m.shape)\n",
        "    V1, A = getV1(m, r, eps, w, maxV1)  # 得到遮罩图像和大气光照\n",
        "    for k in range(3):\n",
        "        Y[:, :, k] = (m[:, :, k] - V1) / (1 - V1 / A)  # 颜色校正\n",
        "    Y = np.clip(Y, 0, 1)\n",
        "    if bGamma:\n",
        "        Y = Y ** (np.log(0.5) / np.log(Y.mean()))  # gamma校正,默认不进行该操作\n",
        "    return Y\n",
        "  \n",
        "def custom_blur_demo(image,file,path):\n",
        "    kernel = np.array([[0, -1, 0], [-1, 5, -1], [0, -1, 0]], np.float32)  # 锐化\n",
        "    dst = cv2.filter2D(image, -1, kernel=kernel)\n",
        "    cv2.imwrite(os.path.join(path,file), dst)\n",
        "\n",
        "path ='./test_cptn_result'\n",
        "files = os.listdir(path)\n",
        "for index,file in enumerate(files):\n",
        "  if index%1000==0:\n",
        "    print(index)\n",
        "  src = cv2.imread(os.path.join(path,file))\n",
        "  src = (deHaze(src / 255.0) * 255)\n",
        "  custom_blur_demo(src,file,'./test_cptn_result_custom')\n",
        "\n",
        "path ='./train_cptn_result'\n",
        "files = os.listdir(path)\n",
        "for index,file in enumerate(files):\n",
        "  if index%1000==0:\n",
        "    print(index)\n",
        "  src = cv2.imread(os.path.join(path,file))\n",
        "  src = (deHaze(src / 255.0) * 255)\n",
        "  custom_blur_demo(src,file,'./train_cptn_result_custom')"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "b9OXp_9KajXm",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        ""
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "owMXHyyDai13",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        ""
      ],
      "execution_count": 0,
      "outputs": []
    }
  ]
}